
排序算法
坂田银时君
这个作者很懒,什么都没留下…
展开
-
归并排序
#include<iostream>using namespace std;void merge(int arr[], int low, int mid, int high) { int i, j, k; int n = mid - low + 1; int m = high - mid; int* L = new int[n]; int* R = new原创 2017-09-24 16:23:12 · 224 阅读 · 0 评论 -
冒泡排序(C++)
#include <iostream>#include<algorithm>using namespace std;int main(){ int n;//数组元素个数 cin >> n; int array[1001]; for (int i = 0; i<n; i++) { cin >> array[i]; } for原创 2017-08-24 22:03:36 · 202 阅读 · 0 评论 -
快速排序 C++
#include<iostream>#include<algorithm>using namespace std;void quicksort(int a[], int begin, int end) {//升序 if (begin < end) { int i = begin, j = end, x = a[begin]; //x随机数,这里设为第一个数原创 2017-09-12 17:07:07 · 213 阅读 · 0 评论 -
希尔排序
#include<iostream>using namespace std;void shellsort(int arr[], int len) { int i, j, h, temp; for (h = len / 2; h >0; h = h / 2) { for (i = h; i < len; i++) { temp = arr[i原创 2017-10-09 16:06:48 · 191 阅读 · 0 评论 -
快速排序非递归
int Pritation(int arr[], int left, int right) { int tmp = a[left]; int i = left, j = right; while (i < j) { while (i > j&&arr[j] >= tmp) j--; if(原创 2017-11-08 17:07:46 · 386 阅读 · 0 评论 -
堆排序
#include<iostream>using namespace std;//升序建立最大堆;降序建立最小堆void heapadjust(int arr[], int start, int end) { int tmp = arr[start]; //根结点从0开始,所以i结点的左右孩子结点的下标为2i+1和2i+2 for (int i = 2 * start +原创 2017-09-24 17:19:29 · 179 阅读 · 0 评论