
排序算法
Hu.先森
这个作者很懒,什么都没留下…
展开
-
直接插入排序——C++
//直接插入排序算法void InsertSort(int a[],int n) { for (int i = 1; i < n; i++) { if (a[i] < a[i - 1]) { int j = i - 1; int tmp = a[i]; while (tmp < a[j]) { a[j + 1] = a[j]; j--;...原创 2020-04-04 20:10:38 · 228 阅读 · 0 评论 -
归并排序(C++)
void Merge(int arr[],const int left,const int right,const int middle){ int temp[right-left+1]; int i = left; int j = middle + 1; int k = 0; int m = 0; while(i <= middle &a...原创 2020-04-04 19:15:43 · 134 阅读 · 0 评论 -
冒泡排序(C++)
void BubbleSort(vector<int> &arr){ if(arr.size() == 0) return; for(int i = 0; i < arr.size();i++) for(int j = 0;j < arr.size()-i;j++) { if...原创 2020-04-04 19:06:06 · 148 阅读 · 0 评论 -
堆排序——C++(版本二)
#include <iostream>using namespace std; void adjust_heap(int* a, int node, int size){ int left = 2*node + 1; int right = 2*node + 2; int max = node; if( left...原创 2020-04-04 18:44:57 · 124 阅读 · 0 评论 -
排序算法——堆排序(C++)
//堆排序//需要先做heapify操作void heapify(vector<int> &tree,int n, int i) //tree代表需要处理的数组,n代表数组长度,i代表是需要对哪个节点进行操作。{ if(i >= n){ return; } int c1 = 2 * i + 1; int c2 =...原创 2020-03-31 22:34:54 · 158 阅读 · 0 评论 -
排序算法——快速排序(C++)
#include <iostream>#include <vector>#include <cstdlib>using namespace std;//从小到大排序void QuickSort(int left, int right, vector<int>& arr){ //越界条件 if(left >...原创 2020-03-29 19:29:31 · 178 阅读 · 0 评论