![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
代码拌饭饭更香
早日暴富
展开
-
排序算法:归并排序算法
归并排序算法 #include<iostream> #include<string> #include<assert.h> using namespace std; void _MergeSort(int *ar, int left, int right,int *tmp) { int mid = (left + right) / 2; if (left >= right)//分的最后状态 return; //先分 _MergeSort(ar, l原创 2021-03-08 20:27:05 · 83 阅读 · 0 评论 -
排序算法:简单选择排序
排序算法:简单选择排序 #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; void selectSort(int R[],int n) { int i, j, k; for (int i = 0; i < n; i++) { k = i; for (j = i + 1; j < n; j++)原创 2021-03-08 19:55:48 · 93 阅读 · 0 评论 -
排序算法:快速排序
排序算法:快速排序 #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; int GetIndex(int R[], int left, int right) { //基准值 int flag = R[left]; while (left < right) { //右边找到小于基准值 while (righ原创 2021-03-08 19:47:26 · 80 阅读 · 0 评论 -
排序算法:折半插入排序
排序算法:折半插入排序 前提:一个基本条件就是序列已经有序 #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; void InsertSort(vector<int>& R, int num) { int n = R.size(); R.resize(n + 1); int left = 0; in原创 2021-03-08 19:29:44 · 144 阅读 · 0 评论 -
排序算法:直接插入排序
排序算法:直接插入排序 #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; void InsertSort(int R[], int n) { int i, j; int tmp; for (int i = 1; i < n; i++) { tmp = R[i]; int j = i - 1; if原创 2021-03-08 19:00:07 · 70 阅读 · 0 评论 -
排序算法:堆排序
排序算法:快速排序 堆排序: 1.堆调整 2.交换堆顶与最后 3.堆调整 数组下标默认从0开始 #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; void AdjustDown(int R[],int parent,int n) { //默认左孩子 int child = parent * 2 + 1; while (原创 2021-03-08 17:15:55 · 92 阅读 · 0 评论