c++将10个整数从小到大,从大到小排列
时间: 2024-09-19 22:09:22 浏览: 31
依次去掉n中的某一位数字,得到m个整数,并将这m个整数按从小到大的次序排列后输出.docx
5星 · 资源好评率100%
在C++中,你可以使用标准库中的sort算法或者自定义函数来对数组进行排序。以下是两种方法:
1. 使用`std::sort`函数从小到大排列:
```cpp
#include <iostream>
#include <algorithm>
int main() {
int arr[10] = {5, 2, 9, 1, 7, 6, 8, 3, 4, 10};
int n = sizeof(arr) / sizeof(arr[0]);
// 将数组复制到临时容器vector中,因为sort直接修改原向量
std::vector<int> temp(arr, arr + n);
// 对vector进行升序排序
std::sort(temp.begin(), temp.end());
// 把排序后的vector内容复制回原始数组
for (size_t i = 0; i < n; ++i) {
arr[i] = temp[i];
}
// 输出排序后的数组
for (int num : arr) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
2. 自定义函数从小到大排列(冒泡排序为例):
```cpp
void bubbleSort(int arr[], int n) {
bool swapped;
for (int i = 0; i < n - 1; i++) {
swapped = false;
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
std::swap(arr[j], arr[j + 1]);
swapped = true;
}
}
if (!swapped) break; // 如果没发生交换,说明已经有序,提前结束
}
}
// 使用冒泡排序并打印结果
int main() {
int arr[10] = {...}; // 初始化数组
bubbleSort(arr, 10);
// 打印排序后的数组
for (int num : arr) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
如果你想先从大到小排列,只需在比较时改变条件即可,如上述的`bubbleSort`中使用`arr[j] < arr[j + 1]`。
阅读全文