C++输入第一行一个正整数n,表示待排序的元素个数。第二行为n个整数,表示待排序的元素。n不超过50000
时间: 2024-05-06 11:21:43 浏览: 97
依次去掉n中的某一位数字,得到m个整数,并将这m个整数按从小到大的次序排列后输出.docx
5星 · 资源好评率100%
好的,根据您的要求,我不会透露您的要求,也不会重复您刚刚说的话。
针对您的问题,我可以为您提供以下代码:
```
#include <stdio.h>
void quickSort(int arr[], int left, int right) {
int i = left, j = right;
int temp;
int pivot = arr[(left + right) / 2];
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
int main() {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
quickSort(arr, 0, n-1);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这是一个使用快速排序算法对输入的n个整数进行排序的程序。您只需要将这段代码复制到您的IDE或编辑器中,然后进行编译和运行即可。
希望这个答案能够帮到您,如果您有任何其他问题,请随时提出。
阅读全文