用c++实现该程序:自定义函数实现对n个数进行选择法排序,主函数调用。 要求:共自定义3个函数,分别对数组进行输入,排序和输出。
时间: 2023-06-23 14:07:56 浏览: 84
好的,下面是代码:
```cpp
#include <iostream>
using namespace std;
void input(int arr[], int n); // 输入函数
void selectionSort(int arr[], int n); // 选择排序函数
void output(int arr[], int n); // 输出函数
int main() {
int n;
cout << "请输入需要排序的数字个数:";
cin >> n;
int *arr = new int[n]; // 动态分配数组空间
input(arr, n); // 输入数字
selectionSort(arr, n); // 选择排序
output(arr, n); // 输出排序后的结果
delete[] arr; // 释放数组空间
return 0;
}
void input(int arr[], int n) {
cout << "请输入" << n << "个数字:";
for(int i = 0; i < n; i++) {
cin >> arr[i];
}
}
void selectionSort(int arr[], int n) {
for(int i = 0; i < n - 1; i++) {
int minIndex = i;
for(int j = i + 1; j < n; j++) {
if(arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if(minIndex != i) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
void output(int arr[], int n) {
cout << "排序后的结果为:";
for(int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
```
使用方法:
1. 将上述代码保存为文件 `selection_sort.cpp`。
2. 在命令行中进入该文件所在目录。
3. 输入 `g++ selection_sort.cpp -o selection_sort` 进行编译。
4. 输入 `./selection_sort` 运行程序。
5. 按照提示输入需要排序的数字个数和这些数字,程序会输出排序后的结果。
阅读全文