题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include <iostream>
const int N = 1000010;
int n, q[N], tmp[N];
void merge_sort(int q[], int l, int r) {
if (l >= r) return;
int mid = l + (r - l) / 2;
merge_sort (q, l, mid), merge_sort(q, mid + 1, r);
int i = 0, lptr = l, rptr = mid + 1;
while (lptr <= mid && rptr <= r) {
if (q[lptr] > q[rptr])
tmp[i ++] = q[rptr ++];
else
tmp[i ++] = q[lptr ++];
}
while (lptr <= mid) tmp[i ++] = q[lptr ++];
while (rptr <= r) tmp[i ++] = q[rptr ++];
for (int m = l, n = 0; m <= r; m ++, n ++)
q[m] = tmp[n];
}
int main() {
scanf("%d", &n);
for (int i = 0; i < n; ++i)
scanf("%d", &q[i]);
merge_sort(q, 0, n - 1);
for (int i = 0; i < n; ++i)
printf("%d ", q[i]);
}