单链表的两种构造函数

(1)头插法

头插法是每次将新申请的结点插在头节点的后面

 

 

 初始化一个空链表First,再为每一个数组元素建立一个结点,将结点s插入到头节点之后

 

 再次插入新的数组结点

 

 

 

头插法代码实现:

void create1(int data[],int n){
    first=new node;first->next=NULL; //初始化一个空链表 
    for(int i=0;i<n;i++){
        s=new node;s->data=a[i];
        s->next=first->next;
        first->next=s; 
    } 
    
    
}

 

 

头插法实则插入头节点后面,为倒序

 

(2)尾插法

尾插法就是每次将新的结点插在终端结点的后面。

尾结点初始化:

 

 

 为每个数组元素建立一个结点S

 

 

将结点S插入到终端结点之后

 

 再将s标记为尾指针

 

 

 

 最后将尾结点置空

尾插法代码:

void create2(int data[],int n){
    first=new node;
    r=first;     //r标记头节点
    for(int i=0;i<n;i++){
        s=new node;s->data=a[i];
        r->next=s;  //
        r=s;
    } 
    
    r->next=NULL;
}

 

posted @ 2019-11-13 11:25  刺客伍六七  阅读(1617)  评论(0编辑  收藏  举报