C語言建立單向連結串列之逆向建鏈
阿新 • • 發佈:2019-01-26
//逆向建鏈就相當於頭插的過程,多想想頭插的過程就明白了 #include"stdio.h" #include"conio.h" #include"malloc.h" typedef struct ElemSN { int data; struct ElemSN * next; }ElemSN; ElemSN * CreatLink(int *a , int n); //建立單向連結串列 void printLink(ElemSN * head); //輸出單向連結串列 void printLink(ElemSN * head) { for(; head ; head=head->next) printf("%d ", head->data); } ElemSN * CreatLink(int *a ,int n) { int i; ElemSN *head=NULL; ElemSN *p=NULL; for(i = n-1 ; i >= 0 ; i--) { head=(ElemSN *)malloc(sizeof(ElemSN)); head->data=a[i]; head->next=p; p=head; } return head; } void main(void) { ElemSN *head; int a[8]={1,2,3,4,5,6,7,8}; head = CreatLink(a,8); printLink(head); getch(); }