- (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/ 一个训练自己算法能力的网站