用C++将一个数组排序
时间: 2024-02-22 18:56:39 浏览: 27
可以使用C++ STL中的sort函数来对数组进行排序,具体代码如下:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[] = {5, 2, 8, 4, 1, 9, 3, 6, 7};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
这里使用sort函数对数组进行排序,sort函数需要传入两个参数:数组的起始地址和结束地址,这里使用`arr`和`arr+n`,其中`n`为数组的大小。最后使用for循环打印排序后的数组即可。
相关问题
c++N个元素数组排序
你可以使用C++中的标准库函数 `sort()` 来排序 N 个元素的数组。以下是一个示例代码:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr[] = {3, 5, 1, 6, 2, 8};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n);
for(int i = 0; i < n; i++)
cout << arr[i] << " ";
return 0;
}
```
输出结果为:
```
1 2 3 5 6 8
```
在此示例中,我们使用 `sort()` 函数对整数数组进行排序。函数的第一个参数为数组的起始位置,第二个参数为数组的结束位置(不包括该位置)。
可以看到,排序后的数组按升序排列。你也可以使用自定义的比较函数来对数组进行排序,例如按照降序排列:
```c++
bool cmp(int a, int b)
{
return a > b;
}
int main()
{
int arr[] = {3, 5, 1, 6, 2, 8};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n, cmp);
for(int i = 0; i < n; i++)
cout << arr[i] << " ";
return 0;
}
```
输出结果为:
```
8 6 5 3 2 1
```
c++判断一个数组是否从小到大排序
要判断一个数组是否从小到大排序,需要遍历数组中的每个元素并检查它是否比前一个元素大。如果数组中的每个元素都比前一个元素大,则该数组是按从小到大的顺序排序的。
以下是一个示例代码,可以实现此功能:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, sorted = 1;
for (i = 1; i < n; i++) {
if (arr[i] < arr[i-1]) {
sorted = 0;
break;
}
}
if (sorted) {
printf("The array is sorted in ascending order.");
} else {
printf("The array is not sorted in ascending order.");
}
return 0;
}
```
在上面的代码中,我们首先定义了一个整数数组`arr`和数组的大小`n`。然后,我们遍历数组中的每个元素,从索引1开始,通过比较当前元素和前一个元素的大小来检查数组是否已按从小到大的顺序排序。如果某个元素小于前一个元素,我们将`sorted`标记为0,表示该数组未按从小到大的顺序排序。最后,我们检查`sorted`的值,以确定数组是否已排序,并打印相应的消息。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)