编写一个程序,1.在键盘上输入N个整数,编写一个程序使该数组中的数按照从小到大的次序排列,用选择排序算法实现。 选择排序: 首先找出值最小的数,然后把这个数与第一个数交换,这样值最小的数就放到了第一个位置;然后,再从剩下的数中找值最小的,把它和第二个数互换,使得第二小的数放在第二个位置上。以此类推,直到所有的值从小到大的顺序排列为止。
时间: 2024-03-17 17:41:40 浏览: 81
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
好的,我会帮你解答这个问题。
以下是 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
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;
}
}
swap(arr[i], arr[minIndex]);
}
}
int main() {
int n;
cout << "请输入数组长度 n: ";
cin >> n;
int arr[n];
cout << "请输入 " << n << " 个整数: ";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
selectionSort(arr, n);
cout << "排序后的数组为: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
首先在主函数中读入数组长度 n 和 n 个整数,然后调用 `selectionSort()` 函数进行排序,最后输出排序后的数组。
在 `selectionSort()` 函数中,我们使用了选择排序算法,首先从数组中找到当前未排序部分的最小值,然后与当前未排序部分的第一个元素进行交换,重复这个过程直到全部元素都有序。
希望能够对你有所帮助!
阅读全文