|
3鱼币
编写一个简单的单向链表,实现对一组长度不定的有序整数的管理(查询、插入、修改、删除)。
编程要求
(1)创建一个单向链表,其结点包含值(number)和序号(xuhao)两个整型数据字段(序号从1开始递增,相邻两结点的序号相差1,下同), 输出该链表(按顺序从头部开始输出结点的值,相邻结点值之间用一个空格隔开,最后一个结点的值后不包含空格,下同);
(2)输入整数n,输出序号为n的结点的值;
(3)输入整数x,查找第1个值为x的结点,并输出其序号和值;
(4)插入结点: 输入整数 n和整数x,在原链表中序号为n的结点后插入值为x的新结点,然后输出该链表;
(5)删除结点: 输入整数 n,删除序号为 n 的结点,并输出该链表。
(6)对链表的任何修改操作,都必须保证操作后,链表中从第1个结点开始,序号始终是从1开始递增,相邻结点的序号值相差1.
(7)确保及时释放内存(例如,删除一个结点时,删除的结点的内存要及时释放),避免内存泄漏。
(8)充分地利用函数对程序功能进行合理划分与设计,提高程序的可维护性。
测试说明
平台会对你编写的代码进行测试:
测试输入
21 3 15 27 11 18 0
3
15
3 33
4
预期输出:
21 3 15 27 11 18
15
3 15
21 3 15 33 27 11 18
21 3 15 27 11 18
上面有关输入输出的解释如下 :
输入第一行:输入一串数据,中间用空格隔开,当输入为0时结束输入 。
输出第一行:将链表中的每个元素输出。
输入第二行:输入要查找的序号3
输出第二行:序号3对应的数据15
输入第三行:要查找的元素15
输出第三行:元素15对应的位置3 ,以及 15这个元素
输入第四行:第一个元素为要插入的位置前一个元素位置3,第二个元素为要插入的数据33
输入第五行:要删除的元素位置4
输出第五行:删除元素后的链表元素再次输出。
请在下列代码中进行添加
// 编程完成下列任务
//(1)建立一个单链表 21 3 15 27 11 18,并输出该链表;
//(2)输入序号n,查找序号为n的结点,并输出;
//(3)输入值x,查找值为x的结点,并输出;
//(4)插入结点: 输入序号 n和值x。在序号为n的结点后插入x,并输出该链表;
//(5)删除结点: 输入序号 n,删除序号为 n 的结点,并输出该链表。
#include <stdio.h>
#include <stdlib.h>
#define LEN sizeof(structNmb)
structNmb
{
|
|