合集-山东大学数据结构实验
摘要:要求 不得使用与实验相关的STL 需使用类模版(template<class T>) 需定义排序类,封装各排序方法 排序数据需使用动态数组存储 排序类需提供以下操作:名次排序、及时终止的选择排序、及时终止的冒泡排序、插入排序 描述 用任意一种排序方式给出n个整数按升序排序后的结果 格式 输入 输入的
阅读全文
摘要:通讯录 要求 不要使用STL 封装线性表类,提供插入,删除,查找等操作 线性表实现使用数组描述方法(顺序存储结构) 描述 设通讯录中每一个联系人的内容有:姓名、电话号码、班级、宿舍。由标准输入读入联系人信息,使用线性表中操作实现通讯录管理功能,包括:插入、删除、编辑、查找(按姓名查找);键盘输入一班
阅读全文
摘要:链表实现 链表合并 A 链表实现 要求 封装链表类,链表迭代器类 链表类需提供操作:在指定位置插入元素,删除指定元素,搜索链表中是否有指定元素,原地逆置链表,输出链表 不得使用与链表实现相关的STL 描述 第一行两个整数 N 和 Q。 第二行 N 个整数,作为节点的元素值,创建链表。 接下来 Q 行
阅读全文
摘要:稀疏矩阵 ~~声明:仅限参考,全文复制会被查重哦~~ 注意 数据类型请使用int,本题中所有运算的结果均视作对int型自然溢出 可以使用 vector 等 STL 中的容器保存稀疏矩阵元素,减少不必要的bug 各操作需在稀疏矩阵上进行,充分考虑数据的稀疏性, 不得直接或间接转换为二维数组形式计算 ,
阅读全文
摘要:计算表达式 ~~tips:不要全文复制,会被查重哦~~ 注意 因为精度问题,请使用double存数据。 要求 创建栈类,采用数组描述; 计算数学表达式的值。 输入数学表达式,输出表达式的计算结果。数学表达式由单个数字和运算符+、-、*、/、(、) 构成,例如 2+3*(4+5)-6/4。假定表达式输
阅读全文
摘要:卡片游戏 ~~tips:这个题还要参考,同学要加油啦~~~~ 要求 创建队列类,使用数组描述的循环队列 实现卡片游戏 描述 假设桌上有一叠扑克牌,依次编号为1-n(从上至下)。当至少还有两张的时候,可以进行操作:把第一张牌扔掉,然后把新的第一张(原先扔掉的牌下方的那张牌,即第二张牌)放到整叠牌的最后
阅读全文
摘要:Prime算法 克鲁斯卡尔算法 Prime算法 描述 使用prim算法实现最小生成树 格式 输入 第一行两个整数n,e。n ( ) 代表图中点的个数,e ( ) 代表边的个数。 接下来e行,每行代表一条边: i j
阅读全文
摘要:描述 创建带索引的二叉搜索树类。存储结构使用链表,提供操作:插入、删除、按名次删除、查找、按名次查找、升序输出所有元素。 格式 输入格式 输入第一行一个数字m (m<=1000000),表示有m个操作。 接下来m行,每一行有两个数字a,b: 当输入的第一个数字 a 为 0 时,输入的第二个数字 b
阅读全文
摘要:内容 创建 最小堆类。最小堆的存储结构使用 数组。提供操作:插入、删除、初始化。题目第一个操作是建堆操作,接下来是对堆的插入和删除操作,插入和删除都在建好的堆上操作。 格式 输入 第一行一个数n(n<=5000),代表堆的大小。第二行n个数,代表堆的各个元素。 第三行一个数m (m<=1000),代
阅读全文
摘要:描述 创建二叉树类。二叉树的存储结构使用链表。提供操作:前序遍历、中序遍历、后序遍历、层次遍历、计算二叉树结点数目、计算二叉树高度。 格式 输入格式 第一行为一个数字n (10<=n<=100000),表示有这棵树有n个节点,编号为1~n。 之后n行每行两个数字,第 i 行的两个数字a、b表示编号为
阅读全文
摘要:要求 使用线性开型寻址实现 描述 给定散列函数的除数D和操作数m,输出每次操作后的状态。 有以下三种操作: 插入x,若散列表已存在x,输出“Existed”,否则插入x到散列表中,输出所在的下标。 查询x,若散列表不含有x,输出“-1”,否则输出x对应下标。 删除x,若散列表不含有x,输出“Not
阅读全文