QuickSort(快速排序) 发表于 2016-02-04 | 分类于 数据结构 | 阅读次数: 1234567891011121314151617181920212223242526#include <cstdio>#include <iostream>using namespace std;void quick_sort(int dat[], int l, int r) { // 首先请填写下面三个变量的初值 int i = l, j =r , mid = dat[r]; do { while (dat[i] < mid) ++i; while (dat[j] > mid) --j; if (i <= j) { swap(dat[i], dat[j]); ++i; --j; } } while (i < j); // 接下来请填写第一个递归调用的参数,仔细回顾一下刚刚讲的快速排序算法的思想哈。 if (l < j) quick_sort(dat,l,j); // 接下来请填写第二个递归调用的参数。 if (i < r) quick_sort(dat,i,r);}int main() { int dat[10] = {1, 4, 3, 2, 5, 3, 2, 5, 10, 9}; quick_sort(dat, 0, 9); for (int i = 0; i < 10; ++i) printf("%d ", dat[i]); return 0;} 打个小广告 欢迎加入我的小专栏「基你太美」一起学习。 打赏 本文作者: 布兰柯基 本文链接: https://blankj.com/2016/02/04/quick-sort/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!