代写stata顺序线性表、线性表数据结构作业

代写stata顺序线性表、线性表数据结构作业
顺序线性表的操作
1.问题描述:
基于线性表的动态顺序存储结构,通过函数分别实现以下操作的算法。
2.实现要求:定义实现以下操作的函数
⑴ 顺序表的建立:通过键盘输入所建立的顺序表的元素个数 n,通过随机
生成的方式生成在[100,100000]之间的整数。
⑵ 输出顺序表的所有元素。
⑶ 求出顺序表中值最小和次小的元素值,要求该算法的时间复杂度为 O(n),
最小和次小的元素值通过指针变量带回,函数不需要返回值。
⑷ 删除顺序表中值在 S 与 T 之间(S 和 T 的大小关系任意)的所有元素,要求
该算法的时间复杂度为 O(n),若 S 和 T 不合理或顺序表为空则显示错误信息。
⑸ 删除顺序表中所有值重复的所有元素,使得顺序表中的所有元素两两互
不相同,要求该算法的时间复杂度为 O(n2
),然后调用函数输出处理之后的顺序
表的所有元素。
⑹ 顺序表的排序,要求该算法的时间复杂度为 O(n ㏒ 2
n
),然后调用函数输
出处理之后的顺序表.
⑺ 设计一个菜单,上述操作要求都作为菜单中的主要菜单项。
11 / 43
6. 单链表操作
1.问题描述:
针对带头结点的单循环链表,编写实现以下操作的算法函数。
2.实现要求:
⑴ 单链表建立函数 create:先输入数据到一维数组 A[M]中,然后根据一维
数组 A[M]建立一个单循环链表,使链表中个元素的次序与 A[M]中各元素的次序
相同,要求该函数的时间复杂度为 O(m);
⑵ 定位查找函数 Locate:在所建立的单循环链表中查找并返回值为 key 的
第 1 个元素的结点指针;若找不到,则返回 NULL;
⑶ 求出该链表中值最大和次大的元素值,要求该算法的时间复杂度为
O(m),最大和次大的元素值通过指针变量带回,函数不需要返回值;
⑷ 将链表中所有值比 key(值 key 通过形参传入)小的结点作为值为 key 的结
点前驱,所有值比 key 大的结点作为值为 key 的结点后继,并尽量保持原有结点
之间的顺序,要求该算法的时间复杂度为 O(m);
⑸ 设计一个菜单,具有上述处理要求和退出系统功能。
12 / 43
7. 集合运算 (单循环链表)
1.问题描述:
设有两个带头结点的单循环链表存储的集合 A、B,其元素类型为字符或者
整形,且以非递减方式存储,其头结点分别为 ha、hb。要求下面各问题中的结
果集合同样以非递减方式存储,结果集合不影响原集合。
2.实现要求:
⑵ 编写集合元素测试函数 IN_SET,如果元素已经在集合中返回 0,否则返
回 1;
⑶ 编写集合元素输入并插入到单链表中的函数 INSERT_SET,保证所输入
的集合中的元素是唯一且以非递减方式存储在单循环链表中;
⑶ 编写求集合 A、B 的交 C=A∩B 的函数,并输出集合 C 的元素;
⑷ 编写求集合 A、B 的并 D=A∪B 的函数,并输出集合 D 的元素;
⑸ 求集合 A 与 B 的对称差 E=(A-B)∪(B-A) 的函数,并输出集合 D 的元素;
⑹ 设计一个菜单,具有输入集合元素、求集合 A、B 的交 C、求集合 A、B
的并 D、求集合 A 与 B 的对称差 E、退出等基本的功能。
3.测试数据:字符型和整形由同学们自定,但集合 A、B 的元素个数不得少于 15
个。
13 / 43
8. 集合运算 (动态顺序表)
1.问题描述:
设有两个动态顺序表存储的集合 A、B,其元素类型为字符或者整形,且以
非递减方式存储。要求下面各问题中的结果集合同样以非递减方式存储,结果集
合不影响原集合。
2.实现要求:
⑴ 编写集合元素测试函数 IN_SET,如果元素已经在集合中返回 0,否则返
回 1;
⑵ 编写集合元素输入并插入到单链表中的函数 INSERT_SET,保证所输入
的集合中的元素是唯一且以非递减方式存储在动态顺序表中;
⑶ 编写求集合 A、B 的交 C=A∩B 的函数,并输出集合 C 的元素;
⑷ 编写求集合 A、B 的并 D=A∪B 的函数,并输出集合 D 的元素;
⑸ 求集合 A 与 B 的对称差 E=(A-B)∪(B-A) 的函数,并输出集合 D 的元素;
⑹ 设计一个菜单,具有输入集合元素、求集合 A、B 的交 C、求集合 A、B
的并 D、求集合 A 与 B 的对称差 E、退出等基本的功能。
3.测试数据:由同学们自定,但集合 A、B 的元素个数不得少于 15 个。
14 / 43
9. 双端队列的操作
1.问题描述:
双端队列:双端队列也是一种限制存取位置的顺序存取结构,有 3 种方式:
① 允许在两端进队和出队的双端队列。可看成是栈底连在一起的两个栈,
两个栈的栈顶指针向两端延伸。(两个栈混和)
② 允许一端插入,但允许两端删除的双端队列。可看成是栈底和队尾连在
一起的栈、队混和,栈顶可以插入和删除、队首可以删除。(栈、队混和)
③ 允许两端插入,但只允许一端删除的双端队列。可看成是栈底和队首连
在一起的栈、队混和,栈顶可以插入和删除、队尾可以插入。(栈、队混和)
2.实现要求:
设用不带头结点的双向链表表示双端队列,front 和 rear 分别是指向队首、
队尾的指针,请编写实现双端队列操作的函数。
⑴ 写出分别可以在 front 端和 rear 端进行入队、出队操作的 4 个函数。
⑵ 写出只能在 front 端出队但能在 rear 端进行入队、出队操作的 3 个函数。
⑶ 写出只能在 rear 端出队但能在 front 端进行入队、出队操作的 3 个函数。
15 / 43
10.矩阵的操作
1.问题描述:
给定两个矩阵 A=(aij)m×n,B=(bij)p×q,完成相应的操作。
2.实现要求:
⑴ 编写矩阵输入函数 INPUT_MAT,通过该函数完成矩阵的输入并返回保
存矩阵的数组和对应矩阵的行数、列数。(不能使用全局变量)
⑵ 编写矩阵输出函数 OUTPUT_MAT,通过该函数完成矩阵的输出。
⑶ 求矩阵的转置,矩阵的转置 A

=(aji)n×m,转置前输出原矩阵,转置后输
出转置矩阵。
⑷ 求矩阵 A、B 的和。矩阵 A 和 B 能够相加的条件是:m=p,n=q;矩阵 A
和 B 如果不能相加,请给出提示信息;若能够相加,则求和矩阵 C 并输出 C。
C=A+B=(cij)m×n,其中 cij=aij+bij
⑸ 求矩阵 A、B 的积。矩阵 A 和 B 能够相乘的条件是:p=n;矩阵 A 和 B
如果不能相乘,请给出提示信息;若能够相乘,则求积矩阵 D 并输出 D。
D=A×B=(dij)m×q,其中 dij=∑aik×bkj,k=1,2,……,n
⑹ 设计一个菜单,具有求矩阵的转置、求矩阵的和、求矩阵的积、退出等
基本的功能。在求矩阵的和或求矩阵的积时要求能够先提示输入两个矩阵的,然
后再进行相应的操作。
http://www.daixie0.com/contents/14/1313.html

本团队核心人员组成主要包括硅谷工程师、BAT一线工程师,国内Top5硕士、博士生,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。

我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全  汇编语言 硬件编程 软件设计 工程标准规等。其中代写代做编程语言或工具包括但不限于以下范围:

C/C++/C#代写

Java代写

IT代写

Python代写

辅导编程作业

Matlab代写

Haskell代写

Processing代写

Linux环境搭建

Rust代写

Data Structure Assginment 数据结构代写

MIPS代写

Machine Learning 作业 代写

Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导

Web开发、网站开发、网站作业

ASP.NET网站开发

Finance Insurace Statistics统计、回归、迭代

Prolog代写

Computer Computational method代做

因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:[email protected]

微信:codinghelp

猜你喜欢

转载自www.cnblogs.com/1111myapple/p/8982217.html
今日推荐