Problem Description
输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。
Input
第一行输入整数的个数N;
第二行依次输入每个整数。
第二行依次输入每个整数。
Output
输出这组整数。
Sample Input
8 12 56 4 6 55 15 33 62
Sample Output
12 56 4 6 55 15 33 62
Hint
不得使用数组!
#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
int main()
{
int i,n;
struct node *p,*head,*q;
head = (struct node *)malloc (sizeof(struct node));//建立一个头结点
head ->next =NULL;//建立一个空链表
q=head;
scanf("%d",&n);
for(i = 1;i<=n;i++)
{
p = (struct node *)malloc(sizeof (struct node));//给p分配一个空间
scanf("%d",&p->data);
p->next = NULL;
q->next = p;
q=p;//连接
}
p = head ->next;//令p为第一个数据
while (p)//输出
{
if(p->next)
printf("%d ",p->data);
else
printf("%d\n",p->data);
p = p->next;
}
return 0;
}