CCNU-Data-Structures 《数据结构及应用算法教程》(严蔚敏 陈文博 编著)刘巍老师上机实验参考代码 第二单元:线性表 顺序表 手写顺序表的 12 种操作的头文件 array 实现 使用 stl vector 实现顺序表的 12 种操作的头文件 链表 手写双向链表的 12 种操作的头文件 指针 实现 手写无头结点的单向链表的 12 种操作的头文件 指针 实现 使用 stl list 实现链表的 12 种操作的头文件 第一次实验:顺序表与集合合并 用顺序表求两个集合的交集 测试函数 第二次实验:链表、集合合并与去重 使用链表的方法求两个集合的交集&链表去重 测试函数 第三次实验:线性表的应用(链表公共节点与递增有序链表合并) 找出两个无头结点的单链表的第一个公共节点 & 将两个递增有序链表合并成一个递增有序链表 测试函数 第三单元:排序 第四次实验:利用双向循环链表实现学生信息排序 手写双向循环链表并实现快速排序 测试函数 第四单元:栈与队列 栈 手写栈的10种操作的头文件 Sqlist 实现 手写栈的10种操作的头文件 stl 实现 队列 手写循环队列的10种操作的头文件 Sqlist 实现 手写循环队列的10种操作的头文件 stl 实现 手写双端队列的13种操作的头文件 List 实现 手写双端队列的13种操作的头文件 stl 实现 第五次实验:栈的应用(判断出栈序列是否合法) 判断出栈序列是否合法 测试函数 第六次实验:栈与递归(括号表达式匹配,回文字符串判断与递归求最大最小值) 括号表达式匹配 回文字符串判断 递归求最大最小值 第七次实验:队列的应用 循环队列测试函数 双端队列测试函数 求数组中相同的数的序号的差的最大值 第八次实验:中缀表达式求值 中缀表达式求值 第九次实验:停车场管理系统 停车场管理系统 第五单元:串和数组 第十二次实验:稀疏矩阵加法 稀疏矩阵 测试函数 第六单元:二叉树和树 二叉树的链式实现 二叉树的邻接表实现 第十次实验:二叉树的表示与实现 测试函数 第十一次实验:二叉树的应用 给定先序与中序遍历,求后序遍历 交换二叉树所有节点的左右子树 判断二叉树是否为AVL树 给定先序遍历,求二叉树节点总数 第十三次实验:二叉树表示 测试函数 第十五次实验 二叉树的带权路径长度 邻接矩阵dfs找两点间是否存在路径 邻接表dfs找两点间是否有长度为k的路径 第十四次实验 判断无头结点的单链表是否有环 最小的未出现的正整数