// 1181_建立链表.cpp : 定义控制台应用程序的入口点。
//题目1181:遍历链表
//时间限制:1 秒内存限制:32 兆特殊判题:否提交:3381解决:1425
//题目描述:
//建立一个升序链表并遍历输出。
//输入:
//输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。
//输出:
//可能有多组测试数据,对于每组数据,
//将n个整数建立升序链表,之后遍历链表并输出。
//样例输入:
//4
//3 5 7 9
//样例输出:
//3 5 7 9
//来源:
//2000年华中科技大学计算机研究生机试真题
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
typedef struct link{
int num;
struct link * next;
}link;
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
link *pre,*current;
link *head = (link *)malloc(sizeof(link));
link *node = (link *)malloc(sizeof(link));
scanf("%d",&(node->num));
node ->next =NULL;
head ->next = node;
for(int i= 0;i<n-1;i++)
{
pre = head;
current = head ->next;
link *node = (link *)malloc(sizeof(link));
scanf("%d",&(node->num));
node ->next = NULL;
while(node->num > current->num)
{
pre = current;
current = current ->next;
if(!current)
break;
}
node->next = current;
pre ->next = node;
}
link *q = head->next;
while(q->next!=NULL)
{
printf("%d ",q->num);
q=q->next;
}
printf("%d\n",q->num);
}
return 0;
}
1181_建立链表
最新推荐文章于 2022-07-11 23:26:12 发布