
链表
GZLUOLISHI
这个作者很懒,什么都没留下…
展开
-
循环单链表区间删除 (15 分)
本题要求实现带头结点的循环单链表的创建和单链表的区间删除。L是一个带头结点的循环单链表,函数ListCreate_CL用于创建一个循环单链表,函数ListDelete_CL用于删除取值大于min小于max的链表元素。函数接口定义: Status ListCreate_CL(LinkList &CL); void ListDelete_CL(LinkList &CL,ElemType min,ElemType max);裁判测试程序样例://库函数头文件包原创 2022-02-20 17:40:31 · 713 阅读 · 0 评论 -
顺序表操作集 (20 分)
本题要求实现顺序表的操作集。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode {转载 2022-02-20 17:19:01 · 171 阅读 · 0 评论 -
带头结点的链式表操作集 (20 分)
本题要求实现带头结点的链式表操作集。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType原创 2022-02-20 16:58:34 · 204 阅读 · 0 评论 -
一元多项式的乘法与加法运算 (20 分)
设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25 22 30原创 2022-02-20 11:57:41 · 76 阅读 · 0 评论 -
两个有序链表序列的合并 (15 分)
本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表原创 2022-02-20 11:48:00 · 215 阅读 · 0 评论 -
递增的整数序列链表的插入 (15 分)
本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。函数接口定义:List Insert( List L, ElementType X );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode原创 2022-02-20 11:43:46 · 334 阅读 · 0 评论 -
带头结点的双向循环链表操作集 (25 分)
本题要求实现一个带头结点的双向循环链表操作集。函数接口定义:typedef int dataType;typedef struct _node{ dataType data; struct _node *prev;//指向前驱的指针 struct _node *next;//指向后继的指针}node;typedef node* List;List create_list();//创建一个空的循环链表,返回指向头节点的指针。void insert(List原创 2022-02-20 11:39:56 · 2823 阅读 · 0 评论 -
求单链表最小值 (6 分)
本题要求实现一个函数,返回带头结点的单链表中最小元素的地址。函数接口定义:LinkList MinP( LinkList L);L是带头结点的单链表的头指针,函数MaxP返回表中最小元素的地址。如果单链表为空,返回空指针。其中LinkList结构定义如下:typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*LinkList;裁判测试程序样例:#include <std原创 2022-02-18 19:52:29 · 3905 阅读 · 0 评论 -
求单链表最大值 (6 分)
本题要求实现一个函数,返回带头结点的单链表中最大元素的地址。函数接口定义:LinkList MaxP( LinkList L);L是带头结点的单链表的头指针,函数MaxP返回表中最大元素的地址。如果单链表为空,返回空指针。其中LinkList结构定义如下:typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*LinkList;裁判测试程序样例:#include <std原创 2022-02-18 19:50:58 · 5888 阅读 · 3 评论 -
链表的插入算法 (30 分)
本题要求实现一个插入函数,实现在链表llist中的元素x之后插入一个元素y的操作。函数接口定义:int InsertPost_link(LinkList llist, DataType x, DataType y);其中 llist是操作的链表,x是待插入元素y的前驱节点元素,y是待插入的元素裁判测试程序样例:#include<stdio.h>#include<stdlib.h>typedef int DataType; struct Node {原创 2022-02-18 19:41:06 · 1463 阅读 · 1 评论 -
带头结点的单链表删除操作 (10 分)
本题要求实现删除单链表的第i个元素结点,删除成功返回1,否则返回0。函数接口定义:int delete_link ( LinkList L,int i);L为单链表的头指针,i为删除结点的序号。裁判测试程序样例:#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *nex原创 2022-02-18 19:35:56 · 4209 阅读 · 0 评论 -
有头结点的链表创建 (30 分)
有一链式结构,定义如下 :struct stu{char name[20];int no;struct stu *next;};创建一个函数myCreate(head,m),head为链表的头结点,m为要创建的结点个数。函数功能是创建一个带有头结点的链表,结点个数由m指定,在函数中需要将每个结点的数据域输入,函数的返回值为int类型,1代表创建成功,0代表创建失败(失败的原因可能是输入数据有误或内存空间不足等)。创建 函数 show(head),显示带有头结点的链表head的全部节点信息。没有原创 2022-02-18 19:27:13 · 4711 阅读 · 0 评论 -
头插法创建单链表(C) (25 分)
本题要求实现两个函数,输入n个数据,采用头插法创建单链表并打印。例如:如果输入4 ,再输入3 7 9 5,则应打印输出5 9 7 3。链表结点结构定义:struct Node { //链表结点 int data; //数据 struct Node* link; //指向下一个结点的指针};函数接口定义:/* 头插法建立单链表:返回单链表的头指针 */struct Node* buildLinkedList(int* arr, int n);原创 2022-02-18 18:18:33 · 1335 阅读 · 0 评论 -
尾插法创建单链表(C) (25 分)
本题要求实现两个函数,输入n个数据,采用尾插法创建单链表并打印。例如:如果输入4 ,再输入3 7 9 5,则应打印输出3 7 9 5。链表结点结构定义:struct Node { //链表结点 int data; //数据 struct Node* link; //指向下一个结点的指针};函数接口定义:/* 尾插法建立单链表:返回单链表的头指针 */struct Node* buildLinkedList(int* arr, int n); /*原创 2022-02-18 18:15:32 · 1013 阅读 · 0 评论