(1)输入字符序列,建立二叉链表。
(2)先序、中序、后序遍历二叉树:递归算法。
(3)中序遍历二叉树:非递归算法(最好也能实现先序,后序非递归算法)。
(4)求二叉树的高度。
(5)求二叉树的叶子个数。
(6)对于树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。
(8)借助队列实现二叉树的层次遍历。
(9)在主函数中设计一个简单的菜单,分别调试上述算法。
2024/9/16 7:26:37 88KB 二叉树
1
/*题目:大学中的人员分三类:学生,教师和职员,他们的基本信息如下:学生:姓名,年龄,学号,年级,成绩教师:姓名,年龄,身份证号,职称,工资职员:姓名,年龄,身份证号,工资现在需要管理各类人员的信息,请用面向对象的方法设计一个异质链表,用来存放他们的信息。
异质链表实现:有三个类student,teacher,staff,再定义一个链表类,此类用来存放这几个不同类的对象,并将链表类list声明为所有这些类的友元,使它们可以访问它们的私有成员。
*/
2024/9/14 7:47:48 7KB 链表 C++ 编程
1
用邻接矩阵和邻接链表的来实现克鲁斯卡尔算法。
代码中有详细的注释
2024/9/14 2:37:09 6KB 克鲁斯卡尔算法
1
编写程序,用先序递归遍历法建立二叉树的二叉链表存储结构,然后输出其先序、中序、后序以及层次遍历结点访问次序。
其中层次遍历的实现需使用循环队列。
二叉树结点数据类型建议选用字符类型
1
配书光盘Readme文件 C语言通用范例开发金典第1章数据结构.11.1数组和字符串21.1.1一维数组的倒置2范例1-1一维数组的倒置2∷相关函数:fun函数1.1.2一维数组应用3范例1-2一维数组应用31.1.3一维数组的高级应用5范例1-3一维数组的高级应用51.1.4显示杨辉三角7范例1-4显示杨辉三角7∷相关函数:c函数81.1.5魔方阵9范例1-5魔方阵91.1.6三维数组的表示14范例1-6三维数组的表示14∷相关函数:InitArray函数1.1.7多项式的数组表示17范例1-7多项式数组的表示171.1.8查找矩阵的马鞍点19范例1-8查找矩阵的马鞍点19∷相关函数:Get_Saddle函数1.1.9对角矩阵建立21范例1-9对角矩阵建立21∷相关函数:Store函数1.1.10三对角矩阵的建立22范例1-10三对角矩阵的建立22∷相关函数:Store函数1.1.11三角矩阵建立24范例1-11三角矩阵建立24∷相关函数:Store函数1.1.12对称矩阵的建立25范例1-12对称矩阵的建立25∷相关函数:store函数1.1.13字符串长度的计算28范例1-13字符串长度的计算28∷相关函数:strlen函数1.1.14字符串的复制29范例1-14字符串的复制29∷相关函数:strcpy函数1.1.15字符串的替换31范例1-15字符串的替换31∷相关函数:strrep函数1.1.16字符串的删除33范例1-16字符串的删除33∷相关函数:strdel函数1.1.17字符串的比较35范例1-17字符串的比较35∷相关函数:strcmp函数1.1.18字符串的抽取36范例1-18字符串的抽取36∷相关函数:substr函数1.1.19字符串的分割38范例1-19字符串的分割38∷相关函数:partition函数1.1.20字符串的插入40范例1-20字符串的插入40∷相关函数:insert函数1.1.21字符串的匹配42范例1-21字符串的匹配42∷相关函数:nfind函数1.1.22字符串的合并43范例1-22字符串的合并43∷相关函数:catstr函数1.1.23文本编辑45范例1-23文本编辑45∷相关函数:StrAssign函数1.2栈和队列541.2.1用数组仿真堆栈54范例1-24用数组仿真堆栈54∷相关函数:push函数pop函数1.2.2用链表仿真堆栈57范例1-25用链表仿真堆栈57∷相关函数:push函数pop函数1.2.3顺序栈公用59范例1-26顺序栈公用59∷相关函数:push函数pop函数1.2.4进制转换问题61范例1-27进制转换问题61∷相关函数:MultiBaseOutput函数1.2.5顺序队列操作64范例1-28顺序队列操作64∷相关函数:push函数pop函数1.2.6循环队列66范例1-29循环队列66∷相关函数:EnQueue函数DeQueue函数1.2.7链队列的入队、出队69范例1-30链队列入队、出队69∷相关函数:push函数pop函数1.2.8舞伴问题71范例1-31舞伴问题71∷相关函数:EnQueue函数DeQueue函数DancePartner函数1.3链表751.3.1头插法建立单链表75范例1-32头插法建立单链表75∷相关函数:createlist函数1.3.2限制链表长度建立单链表77范例1-33限制链表长度建立长单链表77∷相关函数:createlist函数1.3.3尾插法建立单链表79范例1-34尾插法建立单链表79∷相关函数:createlist函数1.3.4按序号查找单链表80范例1-35按序号查找单链表80∷相关函数:getnode函数1.3
2024/8/27 9:57:14 4.46MB 开发金典
1
链表中删除相同结点实验报告及源码,数据结构课的实验报告,源码在实验报告里。
2024/8/24 13:17:40 240KB 数据结构 链表
1
本程序是用单链表对列来管理资源(进程),实现了对进程的优先级调度。
2024/8/23 21:37:37 7KB PCB 优先级
1
(产品产品包:航空订票系统.rar开发说明书:航空订票系统开发说明书产品源代码名:航空订票系统.cpp开发文档:开发成员名单.xls帮助文档:帮助.xls)一.设计题目航空客运订票的业务活动包括:查询航线、客票预订和办理退票等运订票系统,以使上述业务可以借助计算机来完成。
二.需求分析(一) 功能描述(1)每条航线所涉及的够息有:终点站名、航班号、星期几、乘员定额、众票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票层);
(2)作为示意系统,全部数据可以只放在内存中;
(3)系统能实现的操作和功能如下:①查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额。
②承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续.输出座位号;
若已满员或余票额少于订票额,则需重新询问客户要求。
若需要,可登记排队候补;
③承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求.则为他力、理订票手续,否则依次询问其它排队候补的客户。
(二) 实现提示两个客户名单可分别由线性表和队列实现。
为查找方便.已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。
由于预约人数无法预计,队列也应以链表作存储结构。
整个系统需汇总各条航线约情况登录在一张线性表上,由于航线基本不变.可采用顺序存储结构,并按航班有序或按终点站名有序。
每条航线是这张表上的—个记录,包含上述8个域,其中乘员名单域为指向乘员名单链表的头指针,等侯替补的客户名单域为分别指向队头和队尾的指针。
(三) 功能结构图(四) 模块划分1) 航班查询根据旅客提出的终点站名输出航班号、星期几飞行,最近一天航班的日期以及余票额情况。
2) 用户订票根据客户提出的要求查询该航班票额情况,若尚有余票,则为客户办理订票手续.输出座位号;
若已满员或余票额少于订票额,则需重新询问客户要求。
若需要,可登记排队候补。
3) 用户退票根据客户提出的要求查询该客户的订票情况,若情况属实则可确认退票。
4) 开发简介表明产品名及开发人员情况。





2024/8/22 17:07:12 1.97MB C C++
1
leetcode-链表笔记
2024/8/12 18:27:26 4.3MB leetcode
1
设二叉排序树的二叉链表存储结构的类型定义如下:typedefstructnode{intdata;//用整数表示一个结点的名structnode*LChild,*RChild;//左右指针域}BSTNode,*BSTree;设计算法并编写程序求解以下几个问题。
8121410731562415119131613(1)键盘输入一个元素序列创建一棵二叉排序树,输出该二叉排序树的中序遍历序列;
例如,若输入45,24,55,12,37,53,60,23,40,70则创建的二叉排序树为:输出结果为:12232437404553556070(2)在(1)中所得的二叉排序树中插入一个值为58的结点,再输出它的中序遍历序列,输出结果为:1223243740455355586070(3)在(1)中所得的二叉排序树中删除值为45的结点,再输出它的中序遍历序列,输出结果为:12232437405355586070(4)利用(1)中所得的二叉排序树的所有叶子结点构造一个带头结点的单链表L。
要求不能破坏这棵二叉排序树。
所得的单链表L如下。
输出该链表各结点的值,输出结果为:23405370(5)设计算法将(1)中所得的二叉排序树的左右子树进行交换,由于二叉树是一种递归定义,所以子树的左右两棵子树也要相交换,依此类推。
最后输出所得到的二叉树的中序遍历序列。
例如,经过上述操作后,(1)中所得的二叉排序树变为如下形式。
输出该二叉树的中序序列,结果为:70605553454037242312(6)设计算法统计并输出(1)中所得的二叉排序树中只有一个孩子结点的结点个数。
输出结果为:3(7)在(1)中所得的二叉排序树中,设计算法并编写程序输出结点40的所有祖先结点。
输出结果为:452437
2024/8/12 15:36:41 39KB 数据结构 C C++
1
共 330 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡