
排序算法
harry1213812138
有任何问题可以评论,我会第一时间回复。
在下虽然菜,但是菜的认真。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
归并排序c++模板
#include<iostream> using namespace std; int arr[] = {5,4,9,3,7,1,8,0}; void merge(int l,int r) { int mid = (l + r) / 2; mid++; int ls = mid - l; int rs = r - mid + 1; int left[ls],right[rs]; for(int i = l;i < mid;i++) left[i-l] = arr[i];原创 2020-08-05 21:58:49 · 395 阅读 · 0 评论 -
拓扑排序原理及代码实现 经典例题(邻接矩阵 加 邻接表实现)
一、拓扑排序 定义: 拓扑排序是将一个有向无环图的所有顶点排成一个线性队列,并且保证队中的所有点不会指向其前面的点,即所有边只能是某个点指向其队列后面的点。 排序原理: 首先存下所有点的入度(有几条边的终点是该点),若某点入度为0,将该点加入拓扑序,然后删除该点为起点的所有边(就是将所有该点为起点的边的终点的入度减一),然后重复此操作,直到所有顶点进入拓扑序即可。若有点未进入拓扑序,说明该图存在环。 二、代码实现 1、邻接表的拓扑排序 #include<iostream> #include<原创 2020-05-22 09:30:00 · 1397 阅读 · 1 评论 -
布尔类型(bool) 比较器 及sort函数C/C++语言调用
一:布尔类型 1.1在说比较器前,先说说布尔类型(bool),因为比较器需要借助布尔类型来实现。 布尔类型的变量只有两个值:true 和 false,即非真即假,一般零为假,非零为真。bool类型也可直接转为int型,即false转为0,true转为1。 bool yes = true; bool no = flase; int a,b; a = yes; //a的值为1 b = no; /...原创 2019-12-30 23:42:22 · 4427 阅读 · 2 评论 -
快排的优化 思想及基于C语言的实现
快排的优化四大方法 方法一:随机值法 方法二:三位取中法 方法三:聚集相同元素法 方法四:插排替代法 方法一:随机值法 方法二:三位取中法 普通快排每次选择基准的时候一般选择为左端点,但是如果此序列是一个有序或基本有序序列,则选择最左或最右为基准反而是最坏情况。所以我们对此进行优化。 **主要思想:**先取三个特殊位置的数进行排序,即左端点、中点、右端点。将最大的数交换到右端点,将最小的数交换...原创 2019-12-28 16:34:13 · 606 阅读 · 0 评论