排序算法
代码拌饭饭更香
早日暴富
展开
-
排序算法:归并排序算法
归并排序算法#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 · 96 阅读 · 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 · 113 阅读 · 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 · 99 阅读 · 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 · 166 阅读 · 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 · 88 阅读 · 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 · 115 阅读 · 0 评论