关于链表头插尾插的个人图解

来源:互联网 发布:java 当前时间减1小时 编辑:程序博客网 时间:2024/05/21 19:43

头插法建表

void CreateListF(LinkList *&L,ElemType a[],int n)

{    LinkList *s;
    int i;
    L=(LinkList *)malloc(sizeof(LinkList));//创建头 节点
    L->next=NULL;                           //头节点的next域为NULL
    for(i=0;i<n;i++)
    {    s=(LinkList *)malloc(sizeof(LinkList));//建立数据节点并申请空间  
        s->data=a[i];                            //传递数据域        
        s->next=L->next ;            
        L->next=s;                    //这两行是将S插入开始节点之前,头节点之后
    }

}


/*尾插法建表*/
void CreateListR(LinkList *&L,ElemType a[],int n)
{
    LinkList *s,*r;
    int i;
    L=(LinkList *)malloc(sizeof(LinkList));
    r=L;
    for(i=0;i<n;i++)
    {
        s=(LinkList *)malloc(sizeof(LinkList));
        s->data=a[i];
        r->next=s;
        r=s;
    }
    r->next=NULL;  
}


0 0