頭插法和尾插法建立連結串列
阿新 • • 發佈:2019-01-10
#include "stdio.h" #include "stdlib.h" typedef struct List { int data; struct List *next; //指標域 }List; void HeadCreatList (List *L) //頭插法建立連結串列 { List *s; L->next=NULL; for (int i=0;i<10;i++) { s=(struct List*)malloc(sizeof(struct List)); s->data=i; s->next=L->next; //將L指向的地址賦值給S; L->next=s; } } void TailCreatList(List *L) //尾插法建立連結串列 { List *s,*r; r=L; for (int i=0;i<10;i++) { s=(struct List*)malloc(sizeof(struct List)); s->data=i; r->next=s; r=s; } r->next=NULL; } void DisPlay(List *L) { List *p=L->next; while(p!=NULL) { printf ("%d ",p->data); p=p->next; } printf("\n"); } int main () { List *L1,*L2; L1=(struct List*)malloc(sizeof(struct List)); L2=(struct List*)malloc(sizeof(struct List)); HeadCreatList(L1); DisPlay(L1); TailCreatList(L2); DisPlay(L2); }