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;
}

打个小广告

欢迎加入我的小专栏「基你太美」一起学习。