- 博客(27)
- 资源 (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
1243
原创 山东大学数据结构实验七堆和搜索树
1、 输入一系列不为零的正整数(最多不超过20个),遇到0代表输入结束(不包含0)。2、 根据上面输入的数据序列,用初始化方法创建最大堆(不要用节点依次插入的办法创建最大堆),然后输出最大堆的层次序列。3、 输出用堆排序后的排序结果。4、 根据上面输入的数据,创建二叉搜索树(关键字不允许重复,如遇重复,则不重复插入该关键字),输出二叉搜索树的前序序列、中序序列(分行输出)。#include <iostream>using namespace std; void bigHeap(i
2021-12-12 10:19:33
829
原创 山东大学数据结构实验六二叉树操作
1、 输入一个完全二叉树的层次遍历字符串,创建这个二叉树,输出这个二叉树的前序遍历字符串、中序遍历字符串、后序遍历字符串、结点数目、二叉树高度(上述每一个结果独立一行显示)。2、 输入二叉树前序序列和中序序列(各元素各不相同),创建这个二叉树,输出该二叉树的后序序列、层次遍历。#include<iostream>队列头文件#include<queue>//引入using namespace std;char* shuzu=new char [100];int shu=0
2021-12-12 10:17:37
1100
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
1180
原创 山东大学数据结构实验四在线等价类
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
2326
2
原创 山东大学数据结构实验三有序链表操作
1、 输入n个不为零的整数作为节点元素值,遇到0代表输入结束(不创建元素值为0的节点),创建有序链表。输出整个链表。2、 输入一个整数,将该数插入到有有序链表相应位置。输出整个链表。3、 输入一个整数,在链表中进行搜索,输出其在链表中的第一个出现的位置。如果不存在输出0。4、 再一次输入一个整数,在链表中进行搜索,输出其在链表中的第一个出现的位置。如果不存在输出0。5、 再一次输入n个不为零的整数作为节1点元素值,遇到0代表输入结束(不创建元素值为0的节点),创建一个新的有序链表。输出整个链表。6
2021-12-12 10:01:45
1359
原创 山东大学数据结构实验二排序算法
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
475
原创 Dijkstra算法
#include <iostream>using namespace std;#include <stack>//重要#include <cstring>const int MaxVnum = 100;//这个是城市的个数,可修改const int INF = 1e7;//无穷大1000000int dist[MaxVnum], p[MaxVnum];//最短距离和前驱数组bool flag[MaxVnum];//这个是集合的标志,如果flag[i]=tr
2021-12-08 09:21:16
132
原创 山东大学数据结构实验一递归实验
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
576
原创 数据结构基本排序
一.基数排序#include<iostream>using namespace std;#define Maxsize 10000//基数排序int A[Maxsize];//求待排序序列最大元素位数int Maxbit(int A[], int n){ int maxvalue = A[0], digits = 0;//初始化最大元素为A[0],最大位数为0 for (int i = 1; i < n; i++)//找到序列中最大元素 { if (A[i] &
2021-10-19 08:50:55
62
原创 数据结构C++(栈的应用)就近匹配
#include<iostream>using namespace std;#define MAX_SIZE 1024//先准备一下栈//这个好像是用数组写的栈class Stack{public: Stack(); ~Stack(); void push_back(void*); void* Front(); void pop_front(); int GetSize(); void Clear(); bool empty();private: void*
2021-10-09 23:32:26
126
原创 C++数据结构(栈的应用)(火车重排问题)
//非原创,不知道怎么转载 //emmm这玩意我研究了一晚上哈哈哈哈哈//这个是原网址,我只是做个笔记自己看的//https://blog.csdn.net/jkay_wong/article/details/6830541//为了重排车厢,需从前往后依次检查入轨上的所有车厢。//如果正在检查的车厢就是下一个满足要求的车厢,可以直//接把它放到出轨上。否则,则把它移动到缓冲轨上,直到//按输出顺序要求轮到它的时候才可以将他放到出轨上。缓//冲轨是按照栈的方式使用的,因为车厢的进出都是在缓
2021-10-09 21:09:24
1149
原创 数据结构C++队列(数组,链表)
#include<iostream>using namespace std;//队列(课本版)//老祖宗template<class T>class queue {public: virtual ~queue(){} virtual bool empty()const = 0;//队列为空时返回true,否则返回false virtual int size()const = 0;//返回队列中元素个数 virtual T& front() = 0;
2021-10-09 16:39:53
97
原创 数据结构C++循环队列
#include<iostream>using namespace std;#define Maxsize 100//循环队列typedef struct SqQueue { int* base;//基地址 int front, rear;//头指针,尾指针}SqQueue;//循环队列的初始化bool InitQueue(SqQueue& Q)//注意使用引用参数,否则出了函数,其改变无效{ Q.base = new int[Maxsize];//分配空间
2021-10-09 10:47:19
132
原创 数据结构C++栈
#include<iostream>using namespace std;#define Maxsize 100 //预先分配空间,这个数值根据实际需要预估确定//用数组来写栈typedef struct SqStack { int* base;//栈底指针 int* top;//栈顶指针}SqStack;//构造一个空栈Sbool InitStack(SqStack& S){ S.base = new int[Maxsize]; if (!S.bas
2021-10-09 09:22:37
107
原创 数据结构C++矩阵
#include<iostream>using namespace std;//课本例子//这个矩阵符合正常的习惯,下标从1开始的(但是呢。。很不符合我的习惯。。)//而且这个矩阵是用一维数组模拟二维数组,一维数组从0开始的下标,但是模拟的那个数组从1开始。。。。template<class T>class matrix { //一个友元函数 friend ostream& operator<<(ostream&, const matr
2021-10-04 21:31:32
453
1
原创 数据结构C++基数排序
#include<iostream>using namespace std;#define Maxsize 10000//基数排序int A[Maxsize];//求待排序序列最大元素位数int Maxbit(int A[], int n){ int maxvalue = A[0], digits = 0;//初始化最大元素为A[0],最大位数为0 for (int i = 1; i < n; i++)//找到序列中最大元素 { if (A[i] > max
2021-10-03 20:01:53
232
原创 使用链表和整型指针实现的并查集算法
//从书上抄的例子,代码不是原创 不是原创 不是原创。#include<iostream>using namespace std;//使用链表和整型指针实现的并查集算法struct equivNode{ int equivClass, //元素类标识符 size, //类的元素个数 next; //类中指向下一个元素的指针 //说实在的,这个链表节点有点让我晕。。。next居然是个整数而不是一个equivNode指针。 //这好像是一个数组模.
2021-10-03 16:03:12
281
原创 用数组实现的并查集算法
#include<iostream>using namespace std;//这大概是个老祖宗。class UnionFind {public: virtual int size() = 0; virtual bool isEmpty() = 0; //是否连接(??啥) virtual bool isConnected(int p, int q) = 0; //联结元素(??啥) virtual void unionElements(int p, int q) = 0;
2021-10-03 14:45:33
229
原创 有头结点的单向链表
自己写的一个错误百出的代码。。#include <string> #include <sstream> #include <iostream> using namespace std;//对于线性表有必要执行的操作://创建,撤销//确定线性表是否为空//确定线性表的长度//按索引查找一个元素//按元素查找索引。//按索引删除元素//按索引插入元素//从左到右的顺序输出线性表元素//挑战在ppt都没看懂的情况下自己写带有头结点的单向循环链表
2021-09-29 22:04:20
145
原创 数据结构链表(更新中)
#include<iostream>using namespace std;//链表学习笔记(代码抄的,注释自己写的...)//链表第一部分 单链表(头结点不存数据的那种)(网课笔记)typedef struct LNode { int data;//节点的数据域 struct LNode* next;//节点的指针域 }LNode, *LinkList;//构造一个空的单链表L,相当于初始化。(网课没有单独写一个类来管理链表,而是写了这么一个一个的函数)bool
2021-09-28 21:26:35
85
原创 C++数据结构 数组加链表
```cpp#include<iostream>using namespace std;//对于线性表有必要执行的操作://创建,撤销//确定线性表是否为空//确定线性表的长度//按索引查找一个元素//按元素查找索引。//按索引删除元素//按索引插入元素//从左到右的顺序输出线性表元素//这是个老祖宗template<class T>class linearList{public: virtual ~linearList() {}; virtu.
2021-09-25 16:46:21
293
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人