:设计函数sortArray,使用选择排序方法,实现将数组int arr[15] = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};中的数分别按照从小到大、从大到小的顺序排列并输出。
时间: 2023-08-19 07:33:08 浏览: 82
好的,下面是我为您编写的函数sortArray:
```c++
#include <iostream>
using namespace std;
void sortArray(int arr[], int len, bool ascending=true) {
for (int i = 0; i < len - 1; ++i) {
int minOrMax = i;
for (int j = i + 1; j < len; ++j) {
if (ascending) { // 升序排序
if (arr[j] < arr[minOrMax]) {
minOrMax = j;
}
} else { // 降序排序
if (arr[j] > arr[minOrMax]) {
minOrMax = j;
}
}
}
if (minOrMax != i) {
swap(arr[minOrMax], arr[i]);
}
}
for (int i = 0; i < len; ++i) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int arr[15] = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
cout << "升序排序结果:";
sortArray(arr, 15, true);
cout << "降序排序结果:";
sortArray(arr, 15, false);
return 0;
}
```
这个函数接受一个整型数组和数组长度作为参数,还有一个可选的布尔值参数`ascending`,用来表示升序排列或降序排列,默认为升序排列。函数内部使用选择排序的方法对数组进行排列,并输出排列后的结果。在主函数中,我为您准备了一个15个元素的整型数组,调用了2次sortArray函数,分别进行升序排列和降序排列,最后将排列结果输出。
阅读全文