数据结构实验
哈儿1号
本科大二软工学生,请各位大佬多多指教。
展开
-
山东大学数据结构实验八图的操作
1、 创建图类,存储结构使用邻接矩阵。2、 输入图的节点数n(小于10个)、边数m,节点分别用1-n代表。3、 采用“起始节点,终止节点,权值”输入图的m条边,创建图。4、 输出从节点1开始的BFS遍历,在遍历过程中,如有多个可以选择的节点,则优先选择编号较小的节点。5、 输出从节点1开始的DFS遍历,在遍历过程中,如有多个可以选择的节点,则优先选择编号较小的节点。6、 输出从第1节点到第n节点最短路径的长度,如果没有路经,输出0。#include <iostream>#inclu原创 2021-12-12 10:22:00 · 1200 阅读 · 0 评论 -
山东大学数据结构实验七堆和搜索树
1、 输入一系列不为零的正整数(最多不超过20个),遇到0代表输入结束(不包含0)。2、 根据上面输入的数据序列,用初始化方法创建最大堆(不要用节点依次插入的办法创建最大堆),然后输出最大堆的层次序列。3、 输出用堆排序后的排序结果。4、 根据上面输入的数据,创建二叉搜索树(关键字不允许重复,如遇重复,则不重复插入该关键字),输出二叉搜索树的前序序列、中序序列(分行输出)。#include <iostream>using namespace std; void bigHeap(i原创 2021-12-12 10:19:33 · 802 阅读 · 0 评论 -
山东大学数据结构实验六二叉树操作
1、 输入一个完全二叉树的层次遍历字符串,创建这个二叉树,输出这个二叉树的前序遍历字符串、中序遍历字符串、后序遍历字符串、结点数目、二叉树高度(上述每一个结果独立一行显示)。2、 输入二叉树前序序列和中序序列(各元素各不相同),创建这个二叉树,输出该二叉树的后序序列、层次遍历。#include<iostream>队列头文件#include<queue>//引入using namespace std;char* shuzu=new char [100];int shu=0原创 2021-12-12 10:17:37 · 1064 阅读 · 1 评论 -
山东大学数据结构实验五堆栈的应用
6、 输入一个数学表达式(假定表达式输入格式合法),计算表达式结果并输出。7、 数学表达式由单个数字和运算符“+”、“-”、“*”、“/”、“(、) ”构成,例如 2 + 3 * ( 4 + 5 ) - 6 / 4。8、 变量、输出采用整数,只舍不入。#include<iostream>using namespace std;#define MAX_SIZE 100//先准备一下栈//这个好像是用数组写的栈template<class T>class Stack原创 2021-12-12 10:07:41 · 1159 阅读 · 0 评论 -
山东大学数据结构实验四在线等价类
1、 使用5实现本实验。2、 输入一个1-9的正整数n,代表要创建n个元素,例如输入5,则代表创建一个1,2,3,4,5组成的元素表。3、 再输入一个大于0正整数m,代表后面要输入m个等价关系。4、 分行输入m个等价关系,格式如(1,2)。5、 分行输出所有等价类。#include <iostream>using namespace std;//模拟指针的定义//模拟指针可以理解为:在一个模拟空间中,//存在一个指针数组,数组中的每个元素为指针类型,//并且每个指针具有数据域原创 2021-12-12 10:04:06 · 2259 阅读 · 2 评论 -
山东大学数据结构实验三有序链表操作
1、 输入n个不为零的整数作为节点元素值,遇到0代表输入结束(不创建元素值为0的节点),创建有序链表。输出整个链表。2、 输入一个整数,将该数插入到有有序链表相应位置。输出整个链表。3、 输入一个整数,在链表中进行搜索,输出其在链表中的第一个出现的位置。如果不存在输出0。4、 再一次输入一个整数,在链表中进行搜索,输出其在链表中的第一个出现的位置。如果不存在输出0。5、 再一次输入n个不为零的整数作为节1点元素值,遇到0代表输入结束(不创建元素值为0的节点),创建一个新的有序链表。输出整个链表。6原创 2021-12-12 10:01:45 · 1318 阅读 · 0 评论 -
山东大学数据结构实验二排序算法
1、 最多接受20个不为零的正整数进行排序,如果中间输入0则代表提前结束输入,0之前输入几个数就用几个数参与排序,0不参与排序。2、 数字选择排序方法,1-Bubble Sort,2-Insert Sort,3-Radix Sort(注意大小写要区分)。3、 基数排序能够仅仅实现小于10的正整数的排序。如果输入的数据有大于9数据,基数排序不再排序,直接输出一个0后结束程序。4、 使用所选排序方法的排序,结果输出所用方法以及结果,每个数之间用“,”隔开,中间不要有空格。5、 输入输出请严格按下面要求的原创 2021-12-12 09:58:58 · 443 阅读 · 0 评论 -
山东大学数据结构实验一递归实验
1、 输入2-20个大于0的正整数(1、2、3或者100、200、300),输入0作为结束,0不参与排列。2、 输出这几个整数的全排列,每个数之间用半角“,”隔开,中间不要有空格,每个排列单独一行。#include<iostream>using namespace std;int quanPaiLie(int a[], int p, int q, int n){ int i; if (p == q) { cout << a[0]; for (int i =原创 2021-11-02 09:25:38 · 522 阅读 · 0 评论