c++中int数组排序函数
时间: 2024-09-19 21:10:23 浏览: 48
在 C++ 中,对整数数组进行排序通常会使用标准库提供的 `std::sort` 函数,它是 `<algorithm>` 头文件的一部分,属于通用的排序算法模板。这里是一个简单的例子:
```cpp
#include <iostream>
#include <algorithm> // 包含 sort 函数
void sortIntArray(int arr[], int size) {
std::sort(arr, arr + size); // 第二个参数是数组结束位置(不包括)
}
int main() {
int numbers[] = {5, 3, 9, 1, 7};
int arraySize = sizeof(numbers) / sizeof(numbers[0]); // 计算数组大小
sortIntArray(numbers, arraySize);
for (int i : numbers) {
std::cout << i << " ";
}
return 0;
}
```
在这个例子中,`sortIntArray` 函数接收一个整数数组和它的大小,然后调用 `std::sort` 对数组进行升序排列。`main` 函数展示了如何创建一个数组并调用这个排序函数。
如果你想自定义排序规则,可以提供一个比较函数给 `std::sort`,如 `std::greater<int>` 来实现降序排列。
相关问题
c++中数组排序函数
C++中有多种数组排序函数,以下是两种常用的排序方法:
1. 冒泡排序
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换的元素。
示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[9] = { 4,2,8,0,5,7,1,3,9 };
for (int i = 0; i < 9 - 1; i++) {
for (int j = 0; j < 9 - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < 9; i++) {
cout << arr[i] << endl;
}
return 0;
}
```
2. 快速排序
快速排序是一种常用的排序算法,采用了分治的思想,将原始数组分成较小和较大的两个子数组,然后递归地排序两个子数组。
示例代码:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[9] = { 4,2,8,0,5,7,1,3,9 };
sort(arr, arr + 9);
for (int i = 0; i < 9; i++) {
cout << arr[i] << endl;
}
return 0;
}
```
c++键盘输入数组 sort排序函数
可以使用以下代码实现:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
cout << "请输入数组元素个数:";
cin >> n;
int arr[n];
cout << "请输入数组元素:";
for(int i=0; i<n; i++) {
cin >> arr[i];
}
sort(arr, arr+n);
cout << "排序后的数组为:";
for(int i=0; i<n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
该代码先通过键盘输入数组元素个数和数组元素,然后使用sort函数对数组进行排序,最后输出排序后的数组。需要注意的是,C++中数组大小必须是常量,所以使用变量n来定义数组时,需要使用C99或C++11标准。
阅读全文