【问题描述】 数据结构用C或C++编写程序,使用选择排序法,对输入数组进行排序 【输入形式】 整型数组A 【输出形式】 排序后的数组 【样例输入】 2 4 6 8 3 8 5 9 【样例输出】 2 3 4 5 6 8 8 9
时间: 2024-08-13 22:05:28 浏览: 25
在C或C++中,选择排序算法是一种简单的排序方法,它的工作原理是通过反复遍历待排序的数组,每次从未排序的部分中找到最小(或最大)的元素,并将其放到已排序部分的末尾。下面是一个使用C++编写的基于选择排序的程序示例,用于对整型数组进行排序:
```cpp
#include <iostream>
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;
}
}
// 将找到的最小元素与当前未排序部分的第一个元素交换位置
std::swap(arr[i], arr[minIndex]);
}
}
int main() {
int arr[] = {2, 4, 6, 8, 3, 8, 5, 9};
int n = sizeof(arr) / sizeof(arr[0]);
std::cout << "Original array: ";
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}
std::cout << "\n";
selectionSort(arr, n);
std::cout << "Sorted array: ";
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}
std::cout << "\n";
return 0;
}
```
当你运行这个程序并传入样例输入`2 4 6 8 3 8 5 9`时,它会输出排序后的数组:`2 3 4 5 6 8 8 9`。