输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。
输入格式:
第一行输入整数的个数N(1 <= N <= 100000)。
第二行依次输入每个整数。
输出格式:
输出这组整数。
输入样例:
8
12 56 4 6 55 15 33 62
输出样例:
#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *next;
};
int main()
{
struct node *head,*p,*tail;//设置头指针、尾结点、尾指针
head=(struct node*)malloc(sizeof(struct node));//建立一个只包含头节点的空链表
head->next=NULL;
tail=head;
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
p=(struct node*)malloc(sizeof(struct node));//为p分配空间
scanf("%d",&p->data);
p->next=NULL;
tail->next=p;//在尾结点之后插入每新的节点;
tail=tail->next;//链表顺序插入节点后,尾指针的值要随之修改,指向新的尾结点
}
tail=head->next;//tail重新指向头节点之后的第一个数据
while(tail!=NULL)//输出链表
{
if(tail->next==NULL)
{printf("%d",tail->data);}
else
{printf("%d ",tail->data);}
tail=tail->next;
}
return 0;
}
12 56 4 6 55 15 33 62