问题描述:在图书馆中,通常图书采用多级分类管理,即将图书分类目录(简称书目)利用目 录树的形式来表示,如下图所示。 现要求设计一个简单的书目管理系统,其功能如下: (1)书目的显示功能:要求以“树型的层次结构”显示所有图书分类。 (2)书目的维护功能:包括添加、删除、修改等。具体如下: ① 添加书目:能够向目录树中添加新书目。 ② 删除书目:删除某个指定书目。删除某个书目时,若其还有下级书目,则还须删除其所有 的下级书目。 ③ 修改书目:修改书目信息。 (3)书目的查询功能。其查询结果应为从根目录至此目录的路径。
2021-03-05 09:03:49 42KB 数据结构 C C++
利用队列实现迷宫问题求解
2021-03-05 09:03:49 39KB 数据结构 C C++
给定一棵深度为 depth 的满二叉树,并对该二叉树从根结点开始自上而下,每一层从左到右, 从 1 开始进行编号,则结点的编号序列就是 1,2,3,…,2depth-1。如下图给出的深度为 4 的满二叉树。 现在在结点 1 处放一个小球,它会往下落。二叉树中每个结点处都有一个开关,初始时全部关 闭,每当有小球落到一个结点时,该结点上的开关的状态就会改变。当一个小球落到某个结点时, 如果该结点上的开关的状态是打开的,则往左走,否则,往右走,直到走到叶子结点。 现在有 number 个小球依次从结点 1 处开始下落,那么最后一个小球将会落到哪里呢? 输入满二叉树的深度 depth(depth<=10)和小球个数 number,输出第 number 个小球最后所在 的叶子结点的编号。 例如: 若输入 4 2,则输出 12 若输入 3 4,则输出 7 若输入 10 1,则输出 512 若输入 2 2,则输出 3 若输入 8 128,则输出 255
2021-03-05 09:03:48 37KB 数据结构 C C++
1
有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。 排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。 要求,至少采用两种不同的数据结构的方法实现。如果采用三种以上的方法者,可加分。
2021-03-05 09:03:48 38KB 数据结构 C C++
问题描述:设计一个程序实现两个任意长的整数的求和运算。 基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如:1,0000,0000,0000,0000.
2021-03-05 09:03:47 39KB 数据结构 C C++
设计问题:有一个 8*8 的方格棋盘(如下图所示),现有一匹马从任意一个位置(方格)出发, 给出一种方案使马走遍棋盘中的每一个方格,且每个方格只走过一次(马走日字)。 程序的输入:输入马的初始位置(相应的坐标)。 程序的输出:马从初始位置走遍棋盘的过程
2021-03-05 09:03:47 39KB 数据结构 C C++
问题描述:根据算术运算符的优先级,根据输入的算术表达式,求表达式的值。 例如,输入的算术表达式形式为:12+32*4, 3*(12+24/(2+4)), 3.6*(4.3+5)
2021-03-05 09:03:47 43KB 数据结构 C C++
给定一棵无穷的满二叉排序树,结点的编号是 1,2,3,4,…,即该二叉排序树的中序遍历序 列是从 1 开始的递增有序序列。如下图所示。 对于树中一棵根结点的编号为 X 的子树来说,沿着 X 的左孩子结点,以及左孩子结点的左孩子 结点,一路向左直至到达最后一层,可以获得以 X 为根的树中编号最小的结点;若沿着 X 的右孩子 结点,以及右孩子结点的右孩子结点,一路向右直至到达最后一层,可以获得以 X 为根的树中编号 最大的结点。 现在的问题是,在一棵根为 X 的子树中,结点的最小编号和最大编号分别是什么? 要求输入一个整数 X,表示一棵子树的根结点的编号,输出以 X 为根的树中结点的最小编号和 最大编号。 例如: 若输入: 8 则输出: 1 15 若输入: 12 则输出: 9 15
2021-03-05 09:03:46 39KB 数据结构 C C++
实现迷宫问题的最优解的递归算法
2021-03-05 09:03:46 39KB 数据结构 C C++
设计程序完成如下要求:在 8×8 的国际象棋棋盘上,放置 8 个皇后,使得这 8 个棋子不能互 相被对方吃掉。要求:依次输出各种成功的放置方法。
2021-03-05 09:03:45 38KB 数据结构 C C++