数据结构实验之链表一:顺序建立链表
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。
输入
第一行输入整数的个数N;
第二行依次输入每个整数。
第二行依次输入每个整数。
输出
输出这组整数。
示例输入
8 12 56 4 6 55 15 33 62
示例输出
12 56 4 6 55 15 33 62
提示
不得使用数组!
带头节点的算法如下:
#include<cstdio>
struct node
{
int data;
node *next;
};
int main()
{
int n;
scanf("%d",&n);
node *head,*tail,*p,*t;
head=new node;
head->next=NULL;
tail=head;
while(n--)
{
p=new node;
scanf("%d",&p->data);
p->next=NULL;
tail->next=p;
tail=p;
}
t=head->next;
while(t->next!=NULL)
{
printf("%d ",t->data);
t=t->next;
}
printf("%d\n",t->data);
return 0;
}
#include<cstdio>
#include<iostream>
using namespace std;
struct node
{
int data;
node *next;
};
int main()
{
int n;
node *head,*tail,*p,*t;
scanf("%d",&n);
head=NULL;
while(n--)
{
p=new node;
scanf("%d",&p->data);
p->next=NULL;
if(head==NULL)
{
head=p;
tail=p;
}
else
{
tail->next=p;
tail=p;
}
}
for(t=head;t->next!=NULL;t=t->next)
printf("%d ",t->data);
printf("%d\n",t->data);
return 0;
}