![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2024数据结构
文章平均质量分 60
ixll625
我爱秋波,作业好多
展开
-
【东华大学oj】图的邻接矩阵:广度优先遍历
/返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。//返回G中指定顶点的位置。原创 2024-06-07 16:10:16 · 694 阅读 · 0 评论 -
【东华大学oj】邻接矩阵:指定顶点的位置
4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。原创 2024-06-03 10:06:19 · 404 阅读 · 0 评论 -
【东华大学oj】邻接矩阵:顶点u的下一个邻接点
/返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。(2)设计并实现一个算法,在已存在的图中返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。//返回G中指定顶点的位置。原创 2024-06-03 10:05:22 · 553 阅读 · 0 评论 -
【东华大学oj】邻接矩阵:顶点是否相邻
4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。原创 2024-05-30 19:48:56 · 969 阅读 · 0 评论 -
【东华大学oj】邻接矩阵:删除一个顶点
4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。原创 2024-05-30 19:48:07 · 1030 阅读 · 0 评论 -
【东华大学oj】邻接矩阵:构造无权图
4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。原创 2024-05-29 21:48:03 · 717 阅读 · 0 评论 -
【东华大学oj】图的邻接矩阵:深度优先遍历
/返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。//返回G中指定顶点的位置。原创 2024-05-29 21:47:05 · 618 阅读 · 0 评论 -
【东华大学oj】邻接矩阵:求指定顶点的(出)度
/返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。(2)设计并实现一个算法,在已存在的图中求指定顶点的(出)度(无向图/网:度;//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。//返回G中指定顶点的位置。原创 2024-05-28 19:18:07 · 854 阅读 · 0 评论 -
【东华大学oj】邻接矩阵:构造有权图
4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。原创 2024-05-27 19:40:07 · 1286 阅读 · 0 评论 -
【东华大学oj】左叶子之和
解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。给定二叉树的根节点 root ,返回所有左叶子之和。节点数n在 [1, 1000] 范围内。类别: DS:树->力扣。输出一个整数表示结果。原创 2024-05-26 11:19:28 · 404 阅读 · 0 评论 -
【东华大学oj】二叉树的右视图
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。二叉树的节点个数n的范围是 [0,100]输出结果,每个数据的后面跟一个空格。输入: 1 null 3。类别: DS:树->力扣。原创 2024-05-26 11:18:41 · 384 阅读 · 0 评论 -
【东华大学oj】最长同值路径
给定一个二叉树的 root ,输出最长的路径的长度 ,这个路径中的 每个节点具有相同值。这条路径可以经过也可以不经过根节点。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。树的节点数的范围是 [0, 10^4]两个节点之间的路径长度 由它们之间的边数表示。解释:三个5形成的同值路径最大,路径长度为2。解释:三个4形成的同值路径最大,路径长度为2。树的深度将不超过 1000。类别: DS:树->力扣。输出一个整数,表示结果。原创 2024-05-26 11:17:52 · 363 阅读 · 0 评论 -
【东华大学oj】二叉树最大宽度
给定一个二叉树,输出这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。解释: 最大值出现在树的第 3 层,宽度为 4 (5,3,null,9)。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)解释: 最大值出现在树的第 3 层,宽度为 2 (5,3)。然后输入n个结点的数据,需要填充为空的结点,输入null。原创 2024-05-26 11:17:08 · 386 阅读 · 0 评论 -
【东华大学oj】在每个树行中找最大值
给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。二叉树的节点个数的范围是 [0,10^4]输出结果,每个数据的后面跟一个空格。类别: DS:树->力扣。原创 2024-05-26 11:16:19 · 283 阅读 · 0 评论 -
【东华大学oj】二叉树剪枝
给你二叉树的根结点 root ,树的每个结点的值要么是 0 ,要么是 1。输出结果,需要填充为空的结点,输出null,每个数据的后面跟一个空格。节点 node 的子树为 node 本身加上所有 node 的后代。只有红色节点满足条件“所有不包含 1 的子树”。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。树中节点的数目在范围 [1, 200] 内。返回移除了所有不包含 1 的子树的二叉树。注意,输入结点的数据只有0 或 1。原创 2024-05-26 11:03:02 · 286 阅读 · 0 评论 -
【东华大学oj】N 叉树的层序遍历
输入某一结点的子结点后再输入一个null代表该结点的子结点输入结束(最后一个结点除外)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。然后输入n个数据,结点的子树如果为空则输入null。树的节点总数在 [0, 10^4] 之间。每行输出若干整数,每个整数后跟一个空格。树的高度不会超过 1000。输出m行,m为N叉树的深度。类别: DS:树->力扣。首先输入结点的数目n。原创 2024-05-26 11:01:21 · 442 阅读 · 0 评论 -
【东华大学oj】在二叉树中分配硬币
在一次移动中,我们可以选择两个相邻的结点,然后将一枚硬币从其中一个结点移动到另一个结点。给定一个有 n 个结点的二叉树的根结点 root,树中的每个结点上都对应有 node.val 枚硬币,并且总共有 n 枚硬币。解释:从根结点的左子结点开始,我们将两枚硬币移到根结点上 [移动两次]。解释:从树的根结点开始,我们将一枚硬币移到它的左子结点上,一枚硬币移到它的右子结点上。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。原创 2024-05-26 11:00:28 · 406 阅读 · 0 评论 -
【东华大学oj】最大二叉树
[3,2,1,6,0,5] 中的最大值是 6 ,左边部分是 [3,2,1] ,右边部分是 [0,5]。- [3,2,1] 中的最大值是 3 ,左边部分是 [] ,右边部分是 [2,1]。- [2,1] 中的最大值是 2 ,左边部分是 [] ,右边部分是 [1]。- [0,5] 中的最大值是 5 ,左边部分是 [0] ,右边部分是 []。- 只有一个元素,所以子节点是一个值为 1 的节点。输出结果,需要填充为空的结点,输出null,每个数据的后面跟一个空格。- 空数组,无子节点。原创 2024-05-26 10:25:40 · 325 阅读 · 0 评论 -
【东华大学oj】寻找重复的子树
即对于两棵子树,子树的根+左子树+右子树(左右子树可能为空)结构、结点值都相同。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。如果两棵树具有相同的结构和相同的结点值,则它们是重复的。给定一棵二叉树 root,输出所有重复的子树个数。树中的结点数在[1,10^4]范围内。有两棵子树重复,分别为[2,4]和[4]类别: DS:树->力扣。输出一个整数表示结果。原创 2024-05-25 21:08:29 · 290 阅读 · 0 评论 -
【东华大学oj】填充每个节点的下一个右侧节点指针II
解释:给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。序列化输出按层序遍历顺序(由 next 指针连接),'#' 表示每层的末尾。填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。输出:1 # 2 3 # 4 5 7 #类别: DS:树->力扣。原创 2024-05-25 21:07:43 · 452 阅读 · 0 评论 -
【东华大学oj】二叉树:前序遍历非递归实现
可以设置一个栈,保存将要访问的树的根。开始时,要访问的是整棵树,因此把二叉树的根结点存入栈中。然后重复以下过程:从栈中取出一个结点,这个结点就是树的根结点:按照前序遍历的规则,应该先遍历根结点,于是输出根结点的值;然后前序遍历左子树,再前序遍历右子树,把这两个任务放入栈中:先放右子树,再放左子树。内容:(1)请参照链表的ADT模板,设计二叉树的抽象数据类型。并在此基础上,使用二叉树ADT的基本操作,设计并实现简单应用的算法设计。(2)ADT的简单应用:使用该ADT设计并实现若干应用二叉树的算法设计。原创 2024-05-25 16:24:37 · 418 阅读 · 0 评论 -
【东华大学oj】二叉树:距离最近的共同祖先
内容:(1)请参照链表的ADT模板,设计二叉树的抽象数据类型。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。并在此基础上,使用二叉树ADT的基本操作,设计并实现简单应用的算法设计。应用:要求设计一个算法,查找距离二叉树中2个结点最近的共同祖先。(2)ADT的简单应用:使用该ADT设计并实现若干应用二叉树的算法设计。//查找从根结点到元素值为x的结点的路径 (成员函数,参见基本操作18)注意:二叉树ADT的基本操作的算法设计很多要用到递归的程序设计方法。第一行:元素值(共同祖先)原创 2024-05-25 16:23:42 · 534 阅读 · 0 评论 -
【东华大学oj】二叉树:后序遍历非递归实现
或者P存在左孩子或者右孩子,但是其左孩子和右孩子都已被访问过了,则同样可以直接访问该结点。若非上述两种情况,则将P的右孩子和左孩子依次入栈,这样就保证了每次取栈顶元素的时候,左孩子在右孩子前面被访问,左孩子和右孩子都在根结点前面被访问。内容:(1)请参照链表的ADT模板,设计二叉树的抽象数据类型。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。并在此基础上,使用二叉树ADT的基本操作,设计并实现简单应用的算法设计。(2)ADT的简单应用:使用该ADT设计并实现若干应用二叉树的算法设计。原创 2024-05-25 16:21:58 · 415 阅读 · 0 评论 -
【东华大学oj】哈夫曼树的建立(二叉链表)
第一行:Huffman树的层次遍历结果(非叶子结点显示形式: (结点权值),叶子结点显示形式: 结点data(结点权值) )第二行:Huffman树的前序遍历结果(非叶子结点显示形式: (结点权值),叶子结点显示形式: 结点data(结点权值) )第三行:Huffman树的中序遍历结果(非叶子结点显示形式: (结点权值),叶子结点显示形式: 结点data(结点权值) )第四行:Huffman树的后序遍历结果(非叶子结点显示形式: (结点权值),叶子结点显示形式: 结点data(结点权值) )原创 2024-05-25 16:21:03 · 471 阅读 · 0 评论 -
【东华大学oj】二叉树:完全二叉树判断
提示:如果一棵二叉树是完全二叉树,那么按照二叉树的性质5可知,按层编号的最后一个结点的编号等于树上的结点总数。在层次遍历时,对树的每一个结点标记一个数值。对于每个标记值为n的结点,它的两个孩子结点的标号值分别为2n和2n+1。与层次遍历(基本操作5)不同的是,在判断完全二叉树时,队列中不仅要保存指向结点的指针,还需要保存结点的编号。内容:(1)请参照链表的ADT模板,设计二叉树并逐步完善的抽象数据类型。(2)基本操作16:在二叉树的二叉链表存储形式建立的基础上,设计并完成判断二叉树是否为完全二叉树的算法。原创 2024-05-24 15:15:36 · 463 阅读 · 0 评论 -
【东华大学oj】二叉树:以x为根的子树的深度
内容:(1)请参照链表的ADT模板,设计二叉树的抽象数据类型。并在此基础上,使用二叉树ADT的基本操作,设计并实现简单应用的算法设计。应用4:要求设计一个递归算法,计算二叉树以元素值为x的结点为根的子树的深度。(2)ADT的简单应用:使用该ADT设计并实现若干应用二叉树的算法设计。注意:二叉树ADT的基本操作的算法设计很多要用到递归的程序设计方法。//求二叉树中以元素值为x的结点为根的子树的深度 (外壳)//求二叉树中以元素值为x的结点为根的子树的深度 (递归)//查找二叉树中元素值为x的结点 (递归)原创 2024-05-24 15:14:52 · 415 阅读 · 0 评论 -
【东华大学oj】二叉树的重建
举例说明:preOrder的输入pre={A,B,D,G,H,C,E,I,F},inOrder的输入in={G,D,H,B,A,E,I,C,F}。即:设preOrder遍历的当前结点为c,c在in中的位置为m,m左侧就是c的左子树,右侧就是c的右子树。目的:现有两个结点序列,分别是对同一个二叉树进行前序遍历和中序遍历(或中序和后序)的结果。第一行:按后序遍历的结点序列,相邻结点用","隔开。第一行:按前序遍历的结点序列,相邻结点用","隔开。第二行:按前序遍历的结点序列,相邻结点用空格隔开。原创 2024-05-24 15:13:57 · 398 阅读 · 0 评论 -
【东华大学oj】二叉树:建立存储结构(层次次序)
内容:(1)请参照链表的ADT模板,设计二叉树并逐步完善的抽象数据类型。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。参考教材、课件,以及网盘中的链表ADT原型文件,自行设计二叉树的ADT。无孩子或指针为空的情形,算法通过特殊分隔符识别(输入)),至少有1个根结点。(2)基本操作:二叉树的二叉链表存储形式的建立,完成后将其加入到二叉树的ADT基本操作集中。注意:二叉树ADT的基本操作的算法设计很多要用到递归的程序设计方法。第二行:二叉树的层次次序序列(结点元素之间以空格分隔)原创 2024-05-24 15:13:02 · 404 阅读 · 0 评论 -
【东华大学oj】按递增顺序显示卡牌
后面一行输入互不相等的n个整数,整数间用空格分隔,表示牌组的元素,1 <= 整数值 <= 10^6。我们得到的牌组顺序为 [17,13,11,2,3,5,7](这个顺序不重要),然后将其重新排序。重新排序后,牌组以 [2,13,3,11,5,17,7] 开始,其中 2 位于牌组的顶部。牌组现在是 [3,11,5,17,7,13]。牌组现在是 [5,17,7,13,11]。牌组现在是 [7,13,11,17]。牌组现在是 [11,17,13]。如果牌组中仍有牌,则将下一张处于牌组顶部的牌放在牌组的底部。原创 2024-05-22 22:08:52 · 434 阅读 · 0 评论 -
【东华大学oj】最近的请求次数
int ping(int t): 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。// requests = [1, 100, 3001, 3002],范围是 [2,3002],返回 3。// requests = [1, 100, 3001],范围是 [1,3001],返回 3。// requests = [1],范围是 [-2999,1],返回 1。原创 2024-05-22 22:07:51 · 381 阅读 · 0 评论 -
【东华大学oj】买票需要的时间
第一行输入两个整数n和k,n表示tickets数组的长度,1 <= n <= 100;位置 0 的人成功买到 5 张票,用掉 4 + 1 + 1 + 1 + 1 = 8 秒。- 第一轮,队伍中的每个人都买到一张票,队伍变为 [4, 0, 0, 0]。- 第二轮,队伍中的每个都又都买到一张票,队伍变为 [0, 1, 0]。- 第一轮,队伍中的每个人都买到一张票,队伍变为 [1, 2, 1]。输入:tickets = [5,1,1,1], k = 0。- 接下来的 4 轮,只有位置 0 的人在买票。原创 2024-05-21 23:12:59 · 355 阅读 · 0 评论 -
【东华大学oj】无法吃午餐的学生数量
最前面的学生拿走最顶上的三明治,剩余学生队列为 students = [0,1,1],三明治栈为 sandwiches = [1,0,1]。示例 2:输入:students = [1,1,1,0,0,1], sandwiches = [1,0,0,0,1,1]- 最前面的学生放弃最顶上的三明治,并回到队列的末尾,学生队列变为 students = [1,0,0,1]。- 最前面的学生放弃最顶上的三明治,并回到队列的末尾,学生队列变为 students = [0,0,1,1]。原创 2024-05-21 23:12:06 · 683 阅读 · 0 评论 -
【东华大学oj】用栈实现队列
队列应当支持一般队列支持的所有操作(push、pop、peek、empty)。你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。每行输入为push, pop, peek或者empty,最多调用 100 次 push、pop、peek 和 empty。每行为一个整数,为pop、peek和empty指令的返回值。请再实现main函数,读入测试数据中的指令,调用MyQueue类中的相应操作以获得结果。原创 2024-05-21 19:04:21 · 378 阅读 · 0 评论 -
【东华大学oj】绝对差不超过限制的最长连续子数组
解释:满足题意的最长子数组是 [2,4,7,2],其最大绝对差 |2-7| = 5 4.[8,2,4] 最大绝对差 |8-2| = 6 > 4.[2,4,7] 最大绝对差 |2-7| = 5 > 4.[2,4] 最大绝对差 |2-4| = 2原创 2024-05-21 19:03:34 · 731 阅读 · 0 评论 -
有序链表ADT模板简单应用算法设计:一元多项式的加/减法运算
LinkNode(const ElemType1 &item1, const ElemType2 &item2, LinkNode<ElemType1, ElemType2> *ptr = NULL) //构造函数2,用于构造其他结点。并在此基础上,稍加改动,针对一元多项式建立相应的稀疏多项式ADT,使用单链表ADT的基本操作,设计并实现稀疏一元多项式的加法计算的算法设计。假定:系数项的数据类型为double,指数项的数据类型为int,指数项递增有序,多项式至少有1项,系数项均不为0。原创 2024-05-08 16:03:03 · 860 阅读 · 0 评论 -
【东华大学oj】循环链表ADT模板简单应用算法设计:约瑟夫环
现在给定一个随机数m>0,从编号为1的人开始,按顺时针方向1开始顺序报数,报到m时停止。报m的人出圈,同时留下他的密码作为新的m值,从他在顺时针方向上的下一个人开始,重新从1开始报数,如此下去,直至所有的人全部出列为止。请在使用循环链表ADT的基础上,设计一个算法求出圈的顺序(以编号表示)。内容:(1)请使用模板设计循环链表的抽象数据类型。并在此基础上,使用循环链表ADT的基本操作,设计并实现单链表的简单算法设计。(2)ADT的简单应用:使用该ADT设计并实现循环链表应用场合的一些简单算法设计。原创 2024-05-08 16:02:00 · 213 阅读 · 0 评论 -
【东华大学oj】顺序表ADT模板简单应用算法设计:找出两个等长升序序列的中位数
假设以两个元素依值递增有序排列的线性表A和B分别表示两个升序序列(即同一表中的元素值各不相同),现要求设计在时间和空间两方面都尽可能高效的算法,找出两个长度相同的升序序列A和B的中位数。第一行:顺序表A的数据元素的数据类型标记(0:int,1:double,2:char,3:string)2)若ab,则舍弃序列A 中较大的一半,同时舍弃序列B 中较小的一半,要求舍弃的长度相等;类别: DS:线性表->线性表应用。原创 2024-05-08 16:01:03 · 293 阅读 · 0 评论 -
【东华大学oj】阿姆斯特朗数
例如,在三位(k=3)的整数中,153可以满足13 + 53 + 33 = 153,这样的数称之为Armstrong数。输入两个整数m、n,以空格分隔,表示指定范围为[m,n],需要找出该范围内的所有Armstrong数。Armstrong数:如果一个k位正整数等于其各位数字的k次方之和,则称该数为阿姆斯特朗数。内容:在指定范围[m,n]的所有整数中,试设计一算法找出所有的Armstrong数。第一行:如果:没有ArmStrong数,输出“null”截止日期:2024-05-11 23:59:00。原创 2024-05-07 20:26:06 · 423 阅读 · 0 评论 -
【东华大学oj】单链表ADT模板应用算法设计:长整数加法运算(使用单链表存储计算结果)
(1)从长整数的低位开始拆分(4位为一组,即不超过9999的非负整数),依次存放在单链表的每个结点的数据域中;(4)单链表ADT基本操作:单链表的逆置(实际计算时,鉴于单链表的顺序查找的特性,存储在单链表中的长整数需逆置,由原始的高位到低位排列,逆置为低位到高位降序排列。应用:假设2个任意长度的整数x、y分别由带头结点的单链表A和B存储,现要求设计一个算法,实现任意长的整数进行加法运算,计算结果存储在带头结点的单链表C中。(5)单链表格式遍历:按照长整数的格式(4位为一组,组与组之间用,分隔)原创 2024-05-07 20:21:36 · 554 阅读 · 0 评论 -
【东华大学oj】圆桌问题
圆桌上围坐着2n个人。然后从被处死的人之后开始数数,再将数到的第m个人处死……试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。内容:(1)请使用模板设计循环链表的抽象数据类型。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。目的:使用C++模板设计循环链表的抽象数据类型(ADT)。并在此基础上,使用循环链表ADT的基本操作,设计并实现单链表的简单算法设计。(2)ADT的简单应用:使用该ADT设计并实现循环链表应用场合的一些简单算法设计。原创 2024-05-07 20:20:33 · 326 阅读 · 0 评论