九度OJ 1181:遍历链表 (链表、排序)
2024-09-04 10:35:21
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2733
解决:1181
- 题目描述:
-
建立一个升序链表并遍历输出。
- 输入:
-
输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。
- 输出:
-
可能有多组测试数据,对于每组数据,
将n个整数建立升序链表,之后遍历链表并输出。
- 样例输入:
-
4
3 5 7 9
- 样例输出:
-
3 5 7 9
代码:
#include <stdio.h>
#include <stdlib.h> #define N 1000 struct node {
int key;
struct node *next;
}; struct node *insert(struct node *head, int key)
{
if (head == NULL)
{
head = (struct node *)malloc(sizeof(struct node));
head->key = key;
head->next = NULL;
return head;
}
struct node *p = head, *p0;
p0 = p;
while (p && p->key < key)
{
p0 = p;
p = p->next;
}
struct node *pnew = (struct node *)malloc(sizeof(struct node));
pnew->key = key;
pnew->next = p;
if (p == head)
return pnew;
p0->next = pnew;
return head;
} int main(void)
{
int n, i, key;
struct node *head; while (scanf("%d", &n) != EOF)
{
head = NULL;
for(i=0; i<n; i++)
{
scanf("%d", &key);
head = insert(head, key);
}
printf("%d", head->key);
head = head->next;
while (head)
{
printf(" %d", head->key);
head = head->next;
}
printf("\n");
} return 0;
}
/**************************************************************
Problem: 1181
User: liangrx06
Language: C
Result: Accepted
Time:170 ms
Memory:6192 kb
****************************************************************/
最新文章
- Why jsp?
- CardView
- Java一步一步构建web系统 在IDEA下用Maven搭建多模块项目
- c++new/delete---9
- 转:php 获取时间今天明天昨天时间戳
- C++实现网格水印之调试笔记(三)—— 初有结果
- Java 编程:如何提高性能?(简单总结篇)
- 利用T4模版生成EF实体
- NYOJ-448 寻找最大数(贪心)
- MySQL MHA FailOver后,原Master节点自动以Slave角色加入解群的研究与实现
- Jupyter Notebook添加Ruby支持
- Django makemigrations 不行时
- perl 读写文件
- mysql学习【第4篇】:MySQL函数和编程
- FOR ALL ENTRIES的使用
- systemtap 安装 总结
- C#编程(六十八)----------LINQ小结
- 转:NSString / NSData / char* 类型之间的转换
- CF MVC3此操作要求连接到 &#39;master&#39; 数据库。无法创建与 &#39;master&#39; 数据库之间的连接,这是因为已打开原始数据库连接,并且已从连接字符串中删除凭据。请提供未打开的连接 解决方法
- Hadoop1.2.1 出现Warning: $HADOOP_HOME is deprecated.的解决方案