单链表的两种构造函数


(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;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM