单链表的两种构造函数

(1)头插法

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

 

 

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

 

 再次插入新的数组结点spa

 

 

 

头插法代码实现:3d

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)尾插法

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

尾结点初始化:blog

 

 

 为每一个数组元素创建一个结点Sclass

 

 

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

 

 再将s标记为尾指针im

 

 

 

 最后将尾结点置空

尾插法代码:

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;
}
相关文章
相关标签/搜索