頭插法和尾插法建立單鏈表
阿新 • • 發佈:2018-11-30
#include <iostream> using namespace std; struct LNode{ int data; LNode *next; }; typedef LNode* LinkList; void input(int *data){ cin>>*data; } void creatList(LinkList *L,int n){ //之所以用LinkList *L 而不是LinkLinst L,是因為得到了這個指標的地址,就得到了這個指標, LinkList s; //如果用LinkList l,則只能的到這個指標指向的內容,卻得不到這個指標。 *L=new LNode; //建立頭結點 (*L)->next=NULL; for(;n>0;n--){ s=new LNode; input(&s->data); //頭插法 s->next=(*L)->next; //將s增加到開始節點之前 (*L)->next=s; } } void creatListBack(LinkList *L,int n){ LinkList p,s; //尾插法 p=*L=new LNode; for(;n>0;n--){ s=new LNode; input(&s->data); p->next=s,p=s; } p->next=NULL; } int main(void){ int n; LinkList L; creatList(&L,n); return 0; }