新手求助C语言链表操作
Description
已知线性表中元素为整数,且按照升序排列。编写算法实现在线性表中查找值为x的元素,如果查找成功,返回1;否则,返回0,并且把x插入到正确的位置,使线性表仍按升序排列。
依次输出调用查找插入算法后的线性表中的元素。
提示:存储结构采用代表头结点的循环单链表,结点结构如下:
typedef struct Node
{
int data;
struct Node *next;
}LNode,*LinkList;
要求:
(1)编写函数建立循环单链表CreateLinkList(int n),函数返回值类型为LinkList。
LinkList CreateLinkList(int n)
{
/*按照升序输入n个整数,建立带表头结点的循环单链表*/
}
(2) 编写查找函数QueryLinkList(LinkList *L,int x)实现查找并插入功能,函数返回值类型int。
int QueryLinkList(LinkList *L,int x)
{
/*查找值为x的元素,若查找成功返回1,否则返回0,并把x插入到相应的位置。*/
}
(3)编写函数Display(LinkList L),输出线性表中的元素。
(4)main函数调用QueryLinkList()函数,输出查找结果,然后调用Display函数依次输出线性表中的元素。
Input
输入元素个数n
依次输入n个升序排列的整数
输入带查找的元素值x
Output
输出查找结果1或者0
依次输出线性表中的元素值
Sample Input
sample 1:
6
2 5 8 10 12 16
10
sample2:
6
2 5 8 10 12 16
9
Sample Output
sample 1:
1
2 5 8 10 12 16
sample2:
0
2 5 8 9 10 12 16
已知线性表中元素为整数,且按照升序排列。编写算法实现在线性表中查找值为x的元素,如果查找成功,返回1;否则,返回0,并且把x插入到正确的位置,使线性表仍按升序排列。
依次输出调用查找插入算法后的线性表中的元素。
提示:存储结构采用代表头结点的循环单链表,结点结构如下:
typedef struct Node
{
int data;
struct Node *next;
}LNode,*LinkList;
要求:
(1)编写函数建立循环单链表CreateLinkList(int n),函数返回值类型为LinkList。
LinkList CreateLinkList(int n)
{
/*按照升序输入n个整数,建立带表头结点的循环单链表*/
}
(2) 编写查找函数QueryLinkList(LinkList *L,int x)实现查找并插入功能,函数返回值类型int。
int QueryLinkList(LinkList *L,int x)
{
/*查找值为x的元素,若查找成功返回1,否则返回0,并把x插入到相应的位置。*/
}
(3)编写函数Display(LinkList L),输出线性表中的元素。
(4)main函数调用QueryLinkList()函数,输出查找结果,然后调用Display函数依次输出线性表中的元素。
Input
输入元素个数n
依次输入n个升序排列的整数
输入带查找的元素值x
Output
输出查找结果1或者0
依次输出线性表中的元素值
Sample Input
sample 1:
6
2 5 8 10 12 16
10
sample2:
6
2 5 8 10 12 16
9
Sample Output
sample 1:
1
2 5 8 10 12 16
sample2:
0
2 5 8 9 10 12 16
...全文
相关推荐
C语言链表操作
C语言链表操作,新手强烈推荐必看内容,不看会后悔。。。
C语言链表操作详解
为什么要使用链表 在未学习链表时,我们常用的存储数据的方式无非就是数组。使用数组存储数据的好处就是查询快,但是它的弊端也很明显: 使用前需声明数组的长度,一旦声明长度就不能更改 插入和删除操作需要移动大量的数组元素,效率慢 只能存储一种类型的数据. 而链表则可以实现以上这些数组所不具备的功能,此时引入了结构体来实现创建链表的操作。 链表的特点: n个节点离散分配 每一个节...
单链表c语言实现增删改查操作
这个项目"单链表c语言实现增删改查操作"是基于VS2008运行环境,用C语言编程实现对单链表的基本操作,包括插入、删除、修改和查询元素,并将结果输出到控制台。
链表栈的基本操作(C语言)
本文介绍基于C语言的链表栈基本操作实现,包括入栈、出栈、遍历、查找与清空等核心功能。项目采用单向链表结构存储栈元素,通过头文件定义接口规范,主逻辑封装于源文件中,并提供用户交互菜单。整体设计体现数据结
C语言双向链表基本操作
下面我们将详细探讨如何用C语言实现双向链表的基本操作,以及如何结合插入排序法实现基于双向链表的升序排序。首先,双向链表的结构定义是关键。


