数据结构
lzh遇见11点
这个作者很懒,什么都没留下…
展开
-
排序算法(C/C++)
6种排序: 三种简单排序:插入排序、冒泡排序、选择排序 三种高级排序:希尔排序、快速排序、归并排序 案例: 未排序序列: 23 , 17 , 54 , 39 , 89 , 45 , 76 , 46 , 34 , 26 6种排序的结果: 17 , 23 , 26 , 34 , 39 , 45 , 46 , 54 , 76 , 89 运行结果: 源代码如下: #include<iostream> using namespace std; const int M = 10; //数据最大容量 c原创 2021-08-22 20:46:56 · 91 阅读 · 1 评论 -
二叉树遍历(前序、中序、后序)
二叉树的建立与三种遍历 案例: 案例输入:ABD##EH###CF#IJ###G## 案例输出: 前序遍历:ABDEHCFIJG 中序遍历:DBHEAFJICG 后序遍历:DHDBJIFGCA 附:特别注意,用#表示空指针,叶节点处的两个空指针不能遗忘 运行结果 源代码如下: #include<iostream> #include<string> using namespace std; class Node { public: char data; Node* left,原创 2021-08-22 18:05:13 · 342 阅读 · 0 评论 -
括号匹配检验(栈)
括号匹配检验(栈) 示例: eg1: {[(1+2)3+6]-29}*2-4 左右括号匹配 eg2: ( {[(1+2)3+6]-29}*2-4 左括号多余 eg3: ){[(1+2)3+6]-29}*2-4 右括号多余 eg4:(]{[(1+2)3+6]-29}*2-4 左右括号不匹配 运行结果如下: 源代码如下: #include<iostream> #include<string> using namespace std; class Node原创 2021-08-22 16:13:17 · 147 阅读 · 0 评论 -
杨辉三角(队列)
杨辉三角 先上运行结果(显示前n行) 源代码如下 #include<iostream> using namespace std; class Node { public: int e; Node* next; Node(int x,Node* n=NULL):e(x),next(n){} Node():next(NULL){} }; class Queue{ public: Queue() { front = rear = NULL; } ~Queue() { while (f原创 2021-08-22 17:23:21 · 94 阅读 · 0 评论 -
约瑟夫问题(循环链表)
约瑟夫自杀问题 示例 初始人数:5 初始编号:3 人的序号:1、2、3、4、5 自杀序号:3、1、2、5、4 先上运行结果 源代码如下 #include<iostream> using namespace std; class Node { public: int e; Node* next; Node(int x, Node* n = NULL) :e(x), next(n) {} Node() :next(NULL) {} }; class Clist { public: C原创 2021-08-22 12:01:26 · 131 阅读 · 0 评论 -
多项式相加(单链表)
多项式相加 #include<iostream> using namespace std; class Node { public: int coef; int exp; Node* next; Node(int c, int e, Node* n = NULL) :coef(c), exp(e), next(n) {} }; class Poly { public: Poly() :phead(NULL) {} ~Poly() {while (phead != NULL) {原创 2021-08-22 11:26:44 · 183 阅读 · 0 评论