算法

- (void)viewDidLoad {
    [super viewDidLoad];
    int a[] = {72, 6, 57, 88, 60, 42, 83, 73, 48, 85};
    int length = sizeof(a) / sizeof(int);
    sort(a, 0, length);
    for (int index = 0; index < length; index++) {
        printf("%d  ", a[index]);
    }
}

void sort(int *a, int i, int j) {
    if (i < j) {
        int m = i;
        int n = j;
        while (m < n) {
            while (m < n && *(a + m) < *(a + n)) {
                ++m;
            }
            
            while (m < n && *(a + n) > *(a + m)) {
                --n;
            }
            
            if (m < n) {
                int x = *(a + m);
                *(a + m) = *(a + n);
                *(a + n) = x;
            }
        }
        sort(a, i, m - 1);
        sort(a, m + 1, j);
    }
}

快速排序

https://leetcode-cn.com/problems/single-number/  一个训练自己算法能力的网站

原文地址:https://www.cnblogs.com/yuxiaoyiyou/p/14863834.html