QuickSort(快速排序)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#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] = {14325325109};
    quick_sort(dat, 09);
    for (int i = 0; i < 10; ++i)
        printf("%d ", dat[i]);
    return 0;
}

打个小广告

欢迎加入我的知识星球「基你太美」,我会在星球中分享 AucFrame 框架、大厂面经、AndroidUtilCode 更详尽的说明…一切我所了解的知识,你可以通过支付进入我的星球「基你太美」进行体验,加入后优先观看星球中精华的部分,如果觉得星球的内容对自身没有收益,你可以自行申请退款退出星球,也没必要加我好友;如果你已确定要留在我的星球,可以通过扫描如下二维码(备注:基你太美+你的星球昵称)加我个人微信,方便我后续拉你进群(PS:进得越早价格越便宜)。

我的二维码