題目描述
輸入整數個數N,再輸入N個整數,按照這些整數輸入的相反順序建立單鏈表,並依次遍歷輸出單鏈表的數據。
輸入
第一行輸入整數N;;
第二行依次輸入N個整數,逆序建立單鏈表。
第二行依次輸入N個整數,逆序建立單鏈表。
輸出
依次輸出單鏈表所存放的數據。
示例輸入
10 11 3 5 27 9 12 43 16 84 22
示例輸出
22 84 16 43 12 9 27 5 3 11
提示
不能使用數組!
1 #include<stdio.h> 2 #include<malloc.h> 3 struct node 4 { 5 int data ; 6 struct node *next ; 7 }; 8 struct node*creat(int n) 9 { 10 int i ; 11 struct node *p, *head ; 12 head = (struct node *)malloc(sizeof(struct node)) ; 13 head->next = NULL ; 14 for(i = 1; i <= n; i++ ) 15 { 16 p=(struct node *)malloc(sizeof(struct node)) ; 17 scanf("%d",&p->data) ; 18 p->next = head->next ; 19 head->next = p ; 20 } 21 return (head); 22 } 23 void show(struct node *head) 24 { 25 struct node *s ; 26 s=head->next; 27 while(s!=NULL) 28 { 29 if(s->next==NULL) 30 printf("%d\n",s->data); 31 else 32 printf("%d ",s->data); 33 s=s->next; 34 } 35 } 36 37 int main() 38 { 39 int a; 40 struct node *head; 41 scanf("%d",&a); 42 head=creat(a); 43 show(head); 44 45 return 0; 46 }