数据结构实验之链表二:逆序建立链表
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。
Input
第一行输入整数N;;
第二行依次输入N个整数,逆序建立单链表。
第二行依次输入N个整数,逆序建立单链表。
Output
依次输出单链表所存放的数据。
Sample Input
10 11 3 5 27 9 12 43 16 84 22
Sample Output
22 84 16 43 12 9 27 5 3 11
Hint
不能使用数组!
Source
1 #include<stdio.h> 2 #include<stdlib.h> 3 struct node 4 { 5 int data ; 6 struct node*next; 7 }; 8 int main() 9 { 10 int n,i; 11 struct node *head,*p; 12 head =(struct node*)malloc(sizeof(struct node)); 13 head->next=NULL; 14 scanf("%d",&n); 15 for(i=0; i<n; i++) 16 { 17 p=(struct node*)malloc(sizeof (struct node)); 18 scanf("%d",&p->data); 19 p->next =head->next; 20 head->next=p; 21 } 22 for(p=head->next ; p!=NULL; p=p->next) 23 { 24 if(p->next==NULL) 25 printf("%d ",p->data); 26 else 27 printf("%d ",p->data); 28 } 29 return 0; 30 }