Problem Description
输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。
Input
第一行输入整数的个数N;
第二行依次输入每个整数。
第二行依次输入每个整数。
Output
输出这组整数。
Example Input
8 12 56 4 6 55 15 33 62
Example Output
12 56 4 6 55 15 33 62
Hint
不得使用数组!
Author
PS:题目要求用单链表,所以只能用尾插法,如果是双链表的话,可以用头插法(因为头插法倒倒序输出)。如果想详细的学习,请访问一下博客:
http://blog.csdn.net/codeblf2/article/details/42529119
http://blog.csdn.net/zwy18064117182/article/details/52523222
01 | #include <iostream> |
02 | #include<stdio.h> |
03 | #include <stdlib.h> |
04 | using namespace std; |
05 |
06 | struct node |
07 | { |
08 | int date; |
09 | struct node *next; |
10 | }; |
11 | int main() |
12 | { |
13 | int i,n; |
14 | struct node *L,*s,*r,*p; |
15 | L=( struct node*) malloc ( sizeof ( struct node)); |
16 | L->next=NULL; |
17 | r=L; |
18 | cin>>n; |
19 | for (i=0;i<n;i++) |
20 | { |
21 | s=( struct node*) malloc ( sizeof ( struct node)); |
22 | scanf ( "%d" ,&s->date); |
23 | s->next=NULL; |
24 | r->next=s; |
25 | r=s; |
26 | } |
27 |
28 | s=L->next; |
29 | while (s!=NULL) |
30 | { |
31 | printf ( "%d " ,s->date); |
32 | s=s->next; |
33 | } |
34 | return 0; |
35 | } |