#include<iostream> using namespace std; void Qsort(int a[], int low, int high) { if (low >= high) { return; } int first = low; int last = high; int key = a[first];/*用字表的第一个记录作为枢轴*/ while (first < last) { while (first < last && a[last] >= key) { --last; } a[first] = a[last];/*将比第一个小的移到低端*/ while (first < last && a[first] <= key) { ++first; } a[last] = a[first]; /*将比第一个大的移到高端*/ } a[first] = key;/*枢轴记录到位*/ Qsort(a, low, first - 1); Qsort(a, first + 1, high); } int main() { int test[10] = { 15,84,34,21,81,61,35,16,48,68 }; Qsort(test, 0, 9); for (int i = 0; i < 10; i++) cout << test[i] << ' '; return 0; }
快速排序,优于堆排序
猜你喜欢
转载自blog.csdn.net/weixin_40736096/article/details/79669732
今日推荐
周排行