用C++写一个简单选择排序
时间: 2023-05-25 20:05:59 浏览: 52
以下是用C语言编写的简单选择排序程序:
```c
#include <stdio.h>
void selection_sort(int arr[], int n) {
int i, j, min_index, temp;
for (i = 0; i < n - 1; ++i) {
min_index = i;
for (j = i + 1; j < n; ++j) {
if (arr[j] < arr[min_index]) {
min_index = j;
}
}
temp = arr[i];
arr[i] = arr[min_index];
arr[min_index] = temp;
}
}
int main() {
int arr[] = {10, 5, 3, 9, 2, 7, 6, 4, 8, 1};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Original array:\n");
for (i = 0; i < n; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
selection_sort(arr, n);
printf("Sorted array:\n");
for (i = 0; i < n; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
该程序的运行结果为:
```
Original array:
10 5 3 9 2 7 6 4 8 1
Sorted array:
1 2 3 4 5 6 7 8 9 10
```
该程序采用了简单选择排序算法的实现方式,其中变量 `arr` 存储了要进行排序的数组,变量 `n` 存储了数组的大小。在 `selection_sort` 函数中,程序通过两个嵌套的 `for` 循环来进行排序,外层循环控制当前排序位置,内层循环用于查找未排序部分中的最小值,并将其放在当前位置。最后,主函数 `main` 中分别输出原始数组和排序后的结果。