- 博客(35)
- 收藏
- 关注
原创 6-3 单链表插入排序
/尾插法建立单链表,细节不表//输出线性表,细节不表//单链表插入排序其中L是带附加头结点的单链表的头指针。数组a[]存放创建无序单链表的元素,n为数组长度,其值不超过3000。
2024-12-11 21:39:29
246
原创 6-5 两顶点之前有路径吗?
其中v和w是顶点#define MaxVertexNum 20 /* 最大顶点数 */int v;/* 顶点数量 *//* 邻接矩阵 */题目保证图至少有一个顶点函数分别在第一行和第二行打印包含v和w的连通分量中顶点的数量。如果v和w之间有路径,函数返回1, 否则返回0提示你可以定义多个函数,也可以定义全局变量.当v和w是同一个顶点时,认为v和w之间是有路径的。
2024-11-18 21:16:52
356
原创 7-2 图的遍历
6-1 图的深度遍历-邻接矩阵实现。#6-3 图的广度遍历-邻接矩阵实现。#6-3 图的广度遍历-邻接矩阵实现。#6-2 图的深度遍历-邻接表实现。#6-4 图的广度遍历-邻接表实现。
2024-11-18 21:09:20
143
原创 选做3 浪漫侧影
侧影”就是从左侧或者右侧去观察物体所看到的内容。例如上图中男生的侧影是从他右侧看过去的样子,叫“右视图”;女生的侧影是从她左侧看过去的样子,叫“左视图”。520 这个日子还在打比赛的你,也就抱着一棵二叉树左看看右看看了……我们将二叉树的“侧影”定义为从一侧能看到的所有结点从上到下形成的序列。例如下图这棵二叉树,其右视图就是 { 1, 2, 3, 4, 5 },左视图就是 { 1, 6, 7, 8, 5 }。
2024-11-16 20:46:04
319
原创 7-1 按层次遍历二叉树
以字符串的形式定义一棵二叉树的先序序列,若字符是‘#’, 表示该二叉树是空树,否则该字符是相应结点的数据元素。读入相应先序序列,建立二叉树,然后按层次遍历该二叉树并输出结点数据。
2024-11-07 18:03:21
253
原创 7-1 树的同构
给定两棵树 T1 和 T2。如果 T1 可以通过若干次左右孩子互换就变成 T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。现给定两棵树,请你判断它们是否是同构的。
2024-11-05 18:57:23
403
原创 6-11 求根结点到x结点的路径(递归法)
求根结点到x结点的路径(假定结点值不重复)。裁判测试程序样例:输入样例:输入一行字符序列先序递归构建二叉树。每个字符对应一个结点,#表示空结点。第二行输入一个结点值x。输出样例:输出从根到结点x的路径。
2024-10-29 12:39:52
208
原创 6-11 求根结点到x结点的路径(递归法)
求根结点到x结点的路径(假定结点值不重复)。裁判测试程序样例:输入样例:输入一行字符序列先序递归构建二叉树。每个字符对应一个结点,#表示空结点。第二行输入一个结点值x。输出样例:输出从根到结点x的路径。
2024-10-29 12:12:10
314
原创 6-7 二叉树的非递归遍历
其中BinTreeint flag;要求 3 个函数分别按照访问顺序打印出结点的内容,格式为一个空格跟着一个字符。此外,裁判程序中给出了堆栈的全套操作,可以直接调用。
2024-10-29 09:32:22
213
原创 7-1 超级楼梯1
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。有一超级楼梯,共无限级。刚开始时你在地面,你可以一步跨上第一级,也可以一步跨上第二级。假设你每次只能向上跨一级或二级,那么你要走上第N级,共有多少种走法?对于每个测试实例,请输出不同走法的数量。
2024-10-11 20:40:35
227
原创 7-3 汉诺塔问题
相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如图1)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。
2024-10-11 20:39:28
351
原创 6-3 双端队列
其中Deque/* 存储元素的数组 *//* 队列的头、尾指针 *//* 队列最大容量 */Push和Inject应该在正常执行完操作后返回true,或者在出现非正常情况时返回false。当Front和Rear相等时队列为空,Pop和Eject必须返回由裁判程序定义的ERROR。
2024-10-11 20:37:07
368
原创 6-9 链表拼接(头结点最后删除)
其中list1和list2是用户传入的两个按data升序链接的链表的头指针;函数mergelists将两个链表合并成一个按data升序链接的链表,并返回结果链表的头指针。
2024-09-26 19:24:53
195
原创 6-7 逆序数据建立链表
函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。int data;
2024-09-26 19:22:53
273
原创 6-5 单链表结点删除
函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回指向单链表头结点的指针。函数deletem将单链表L中所有存储了m的结点删除。返回指向结果链表头结点的指针。
2024-09-26 19:20:08
282
原创 6-9 链表拼接
其中list1和list2是用户传入的两个按data升序链接的链表的头指针;函数mergelists将两个链表合并成一个按data升序链接的链表,并返回结果链表的头指针。
2024-09-24 20:59:48
153
原创 L1-030 一帮一
一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的学生分为一组。
2024-09-16 20:45:30
170
原创 L1-027 出租
下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2对应arr[2]=1index[1]=0对应arr[0]=8index[2]=3对应arr[3]=0,以此类推…… 很容易得到电话号码是。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。
2024-09-15 20:56:13
194
原创 7-2 线性表的合并
求解一般集合的并集问题。已知两个集合A和B,现要求一个新的集合A=AUB。例如,设B=(2,6,3)合并后 A=(7,5,3,11,2,6)
2024-09-12 19:53:23
177
原创 建立学生信息链表
该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。int num;/*学号*//*姓名*/int score;/*成绩*//*指向下个结点的指针*/单向链表的头尾指针保存在全局变量head和tail中。输入为若干个学生的信息(学号、姓名、成绩),当输入学号为0时结束。
2024-04-21 14:10:08
254
1
原创 查找secret
安全保密是一项重要工作,如何判定文件是否涉密?我们给出一个简单的假定。假定读入的数据内容中有“secret”字样,则说明为涉密文件。下面请你编写程序,对输入的一串字符(最多80个字符,串中可能有空格)统计有无“secret”单词出现,如果出现,请说明其出现在第几个单词处(从1开始计数)。注意:此单词可能多次出现。
2024-03-30 21:37:40
1060
原创 字符串转换成十进制整数
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“ - ”,则代表该数是负数。//是第一个十六进制数之前存在-就行,不一定要紧挨着。//判断最后结果是不是负数只要看第一个十六进制数前面有没有-就行,这里的令c=1和下面的令c=-1都是为了不让第二个和后面的十六进制数再进入if(c==0)这条语句,否则就会出现AB-2的结果也是负数的情况。在一行中输出转换后的十进制数。
2024-03-24 10:18:03
665
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人