数据结构
沉迷C++的Watching
这个作者很懒,什么都没留下…
展开
-
C++实现冒泡排序,插入排序,快速排序,希尔排序,表排序代码
#pragma once namespace Sort { template <typename T> class BigOrder { public: bool operator()(T val1, T val2) { return val1 > val2; } }; template <typename T> class SmallOrder { public: bool operator()(T val1, T val2)原创 2020-06-03 17:48:17 · 248 阅读 · 0 评论 -
C++根据树的前序遍历,中序遍历写出后序遍历
数据结构(树的遍历) 功能实现:根据前序遍历,中序遍历,写出后序遍历。 #include <iostream> // 这里就简单写个数组模拟树 int preArray[] = { 1,2,3,4,5,6 }; int inArray[] = { 3,2,4,1,6,5 }; int postArray[6] = { 0 }; //根据前序遍历第一个位置,为根节点,中序遍历根节点的左侧为左子树,右侧为右子树,递归分治解决。 void createPost(int preL, int inL,原创 2020-05-28 09:54:27 · 432 阅读 · 0 评论 -
C++用图深度遍历实现坐标是否能到达
数据结构(图像的深度遍历) 看浙大老师的数据结构里出了一道题目 题目: 输入任意坐标,起点和终点,可到达半径,判断起点是否能到达终点。当然广度遍历也可以实现,这里用深度遍历更好些。 代码实现全在头文件里,方便看,仅供参考,有什么更好的实现方法欢迎交流。 #pragma once #include <math.h> #include <iostream> #include <vector> using std::vector; struct coordinate { i原创 2020-05-27 16:41:58 · 302 阅读 · 0 评论 -
C++模板类实现堆
数据结构 堆得实现源代码分享并交流 #pragma once #include <vector> #include <iostream> template <typename T> class BigHeapOrder { public: bool operator()(T val1, T val2) { return val1 > val2; } }; template <typename T> class SmallHeapOrder原创 2020-05-27 09:23:20 · 173 阅读 · 0 评论 -
C++求数组中最大子序列问题
在慕课上学习数据结构时看到的C++代码用来解决,借鉴的是浙大老师讲的数据结构,很推荐。 第一种是分治思想 int Max3(int A, int B, int C) { /* 返回3个整数中的最大值 */ return A > B ? A > C ? A : C : B > C ? B : C; } int DivideAndConquer(int List[], int left, int right) { /* 分治法求List[left]到List[right]的最大子列和 */原创 2020-05-26 22:35:17 · 399 阅读 · 0 评论 -
C++二分查找的模板方法
C++二分查找的模板方法 最近在复习数据结构,看到二分查找写了两个模板,一个传伪函数(伪函数也能写模板比较方便)还有一个是用lambada传参的,当作练习。 template <typename T> class more { public: bool operator()(T a, T b) { return a > b; } }; //less 举一反三写,用于数组是递减情况 template <typename T, typename order> int B原创 2020-05-26 22:19:06 · 314 阅读 · 0 评论