题目描述
blablabla
样例
#include<iostream>
using namespace std;
const int N = 1e5 + 10;
int q[N];
void quick_sort(int q[], int l, int r) {
// 边界条件
if (l >= r) return;
// 双指针移动
int i = l - 1, j = r + 1;
int mid = q[l + r >> 1];
while (i < j) {
do i++; while(q[i] < mid);
do j--; while(q[j] > mid);
if (i < j) swap(q[i], q[j]);
}
// i 左边的数一定 <= mid
// j 右边的数一定 >= mid
quick_sort(q, l, j);
quick_sort(q, j + 1, r);
}
int main(){
// 输入
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &q[i]);
}
// 排序
quick_sort(q, 0, n - 1);
// 输出
for (int i = 0; i < n; i++) {
printf("%d ", q[i]);
}
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla