数据结构实验之链表一:顺序建立链表
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 <stdio.h>
#include <stdlib.h>
struct node{
int data;
struct node *next;
};
int main()
{
int i , n ;
struct node *head = NULL, *p = NULL , *q = NULL ;
scanf("%d", &n);
head = (struct node *)malloc(sizeof(struct node));
head->next = NULL;
q = head;
for(i = 1 ; i <= n ; i++)
{
p = (struct node *)malloc(sizeof(struct node));
scanf("%d", &p->data);
q->next = p ;
q = p;
}
q->next = NULL;
p = head->next;
for(i = 1 ; i <= n ; i++)
{
printf("%d", p->data);
if(i < n)
printf(" ");
else
printf("\n");
p = p->next;
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
struct node{
int data;
struct node *next;
};
int main()
{
int i , n ;
struct node *head = NULL, *p = NULL , *q = NULL ;
scanf("%d", &n);
head = (struct node *)malloc(sizeof(struct node));
head->next = NULL;
q = head;
for(i = 1 ; i <= n ; i++)
{
p = (struct node *)malloc(sizeof(struct node));
scanf("%d", &p->data);
q->next = p ;
q = p;
}
q->next = NULL;
p = head->next;
for(i = 1 ; i <= n ; i++)
{
printf("%d", p->data);
if(i < n)
printf(" ");
else
printf("\n");
p = p->next;
}
return 0;
}