• 单链表


    建表、删除

    typedef struct LNode
    {
        int data;
        struct LNode *next;
    }*Slink;
    
    LNode *p,*q;//指向链表节点的p,q指针 
    Slink H;//指向链表,头指针 
    
    void InitList(Slink &L)
    {
        L = new LNode;
        if(!L) cout<<"空间分配失败";
        L->next = NULL;
    }
    
    void DestroyList(Slink &L)
    {
        while(L)
        {
            p = L;
            L = L->next;
            delete p;
        }
    L
    = NULL;//头结点占有的空间被释放,但指针L的值不变,为安全起见,置L为空 }

    搜索

    void GetElem(Slink &L,int pos,int &e) 
    {
        int i = 0;
        p = L;
        while(p && i<pos)
        {
            i++;
            p = p->next;
        }
        if(p == NULL)cout << "false";
        else e = p->data;
        
        p = NULL;
    }

    插入

    void InsertElem(Slink &L,int pos,int &e) 
    {
        int i = 0;
        p = L;
        while(p && i < pos-1)
        {
            i++;
            p = p->next;
        }
        
        if(i != pos-1)cout<<"false";
        else 
        {
            q = new LNode;
            q->data = e;
            
            q->next = p->next;
            p->next = q;
        }
        
        p = NULL;
        q = NULL;
    }

    删除

    bool ListDelete(SLink &L,int pos,int &e)
    {
        p = L;j = 0;
    while(p->next && j < pos-1) p = p->next;
    if((!p->next) || j > pos-1)return FALSE; q = p->next; p->next = q->next; e = q->next; delete(q);//释放节点空间

    return TRUE; }

     交换前后两段

    void exchange_L(SLink &L,int m)
    {
        if(m && L->next)
        {
            p = L->next;
            k = 1;
            while(k < m && p)
                p = p->next,++k;
            if(p && p->next)
            {
                ha = L->next;
                L->next = p->next;
                p->next = NULL;
                q = L->next;
                while(q->next)q = q->next;
                q->next = ha;
            }
        }
    }
  • 相关阅读:
    AngularJS入门教程
    mobile web retina 下 1px 边框解决方案
    Python字典猜解
    20145313exp9
    20145313张雪纯Exp8 Web基础
    20145313张雪纯exp7
    20145313张雪纯信息搜集与漏洞扫描
    计算机病毒静态分析2
    计算机病毒静态分析1
    20145313张雪纯MSF基础应用实验
  • 原文地址:https://www.cnblogs.com/Cindy-Chan/p/11179597.html
Copyright © 2020-2023  润新知