单链表的两种构造函数
初始化一个空链表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; } }
头插法实则插入头节点后面,为倒序
为每个数组元素建立一个结点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; }