c++ 如何对一个数组升序排序
时间: 2024-10-19 13:05:22 浏览: 36
在C++中,对数组进行升序排序可以使用多种内置算法,如冒泡排序、选择排序、插入排序、快速排序等。这里提供一种常见的快速排序示例,它是一种高效的通用排序算法:
```cpp
#include <iostream>
#include <algorithm> // 必须包含此行,以使用sort函数
void quickSort(int arr[], int low, int high) {
if (low < high) {
int pivot = partition(arr, low, high); // 分区操作
quickSort(arr, low, pivot - 1); // 对左半部分递归排序
quickSort(arr, pivot + 1, high); // 对右半部分递归排序
}
}
int partition(int arr[], int low, int high) {
int pivot = arr[high]; // 通常选择最后一个元素作为基准
int i = low - 1;
for (int j = low; j < high; j++) {
if (arr[j] < pivot) {
i++;
std::swap(arr[i], arr[j]); // 将较小元素交换到基准左侧
}
}
std::swap(arr[i + 1], arr[high]);
return i + 1;
}
int main() {
int arr[] = {5, 2, 8, 3, 9, 1};
int n = sizeof(arr) / sizeof(arr[0]);
quickSort(arr, 0, n - 1);
std::cout << "Sorted array: ";
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
```
在这个例子中,`quickSort`函数首先将数组分为两部分,然后分别对这两部分进行递归排序,直到整个数组有序。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)