设计函数sortArray,使用选择排序方法,实现将数组int arr[15] = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};中的数分别按照从小到大、从大到小的顺序排列并输出。
时间: 2023-08-19 12:31:27 浏览: 68
好的,我来为您设计函数sortArray,使用选择排序方法,实现将数组int arr[15] = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};中的数分别按照从小到大、从大到小的顺序排列并输出。
以下是代码实现:
```c++
#include <iostream>
using namespace std;
void sortArray(int arr[], int len, bool isAscending) {
for (int i = 0; i < len - 1; i++) {
int minOrMax = i;
for (int j = i + 1; j < len; j++) {
if ((isAscending && arr[j] < arr[minOrMax]) || (!isAscending && arr[j] > arr[minOrMax])) {
minOrMax = j;
}
}
if (minOrMax != i) {
int temp = arr[i];
arr[i] = arr[minOrMax];
arr[minOrMax] = temp;
}
}
if (isAscending) {
cout << "从小到大排序结果为:";
} else {
cout << "从大到小排序结果为:";
}
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};
sortArray(arr, 15, true);
sortArray(arr, 15, false);
return 0;
}
```
函数sortArray接收三个参数:一个整型数组arr、数组长度len以及一个bool类型的参数isAscending,用于指定排序方式。isAscending为true时表示升序排列,false表示降序排列。
在函数内部,我们使用选择排序的思想,每次从剩余的未排序的数中选出最小或最大的数,放到已排序的数的末尾。最后,根据isAscending的值输出相应的排序结果。
在main函数中,我们使用sortArray函数先进行升序排列,再进行降序排列,输出两次排序结果。
希望我的回答能够帮到您,如有疑问请随时提出。
阅读全文