9 solutions
-
1
这题,我觉得 放在这里 是想 让大家 手写 一下 一些 排序算法的。要不然 放在这里的 意义 真没多大。手写 排序 其实 真的 挺重要的,我听一个 大佬说过,有时候 要自己 写排序的。而且 排序的思想 很基础。
#include <iostream> using namespace std; int arr1[500005]; void quickSort(int l, int r) { if (l >= r) { return; } //int ic = arr1[r]; int midIndex = arr1[r]; int s = l; int e = r - 1; while (true) { while (s < r && arr1[s] < midIndex) { s++; } while (e >= l && arr1[e] > midIndex) { e--; } if (s < e) { int temp = arr1[s]; arr1[s] = arr1[e]; arr1[e] = temp; // 继续 往下搜 s++; e--; } else { break; } } int temp = arr1[s]; arr1[s] = arr1[r]; arr1[r] = temp; quickSort(l,s - 1); quickSort(s + 1, r); } int main(void) { int n; cin >> n; for (int i = 0; i < n; ++i) { cin >> arr1[i]; } quickSort(0, n - 1); for (int i = 0; i < n; ++i) { cout << arr1[i] << " "; } return 0; }
Information
- ID
- 109
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 7
- Tags
- # Submissions
- 337
- Accepted
- 84
- Uploaded By