用c语言,选择法进行排序
时间: 2024-10-29 12:18:00 浏览: 11
在 C 语言中,选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据排完。以下是选择排序的基本步骤:
1. 找到数组中的最小值,并将其与第一个元素交换位置。
2. 再次遍历剩余的未排序部分,找到其中的最小值,与第二个元素交换。
3. 重复这个过程,每次从未排序的部分找出最小(或最大)值并放到已排序部分的末尾,直到整个数组有序。
这里是一个简单的 C 语言选择排序的例子:
```c
#include <stdio.h>
void selection_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int min_index = i;
// 寻找未排序部分的最小值
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_index]) {
min_index = j;
}
}
// 将找到的最小值与当前位置交换
if (min_index != i) {
int temp = arr[i];
arr[i] = arr[min_index];
arr[min_index] = temp;
}
}
}
// 测试函数
int main() {
int data[] = {64, 25, 12, 22, 11};
int size = sizeof(data) / sizeof(data[0]);
printf("Original array: ");
for (int i = 0; i < size; i++) {
printf("%d ", data[i]);
}
selection_sort(data, size);
printf("\nSorted array: ");
for (int i = 0; i < size; i++) {
printf("%d ", data[i]);
}
return 0;
}
```
运行上述代码会输出排序前后的数组。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![text/x-c](https://img-home.csdnimg.cn/images/20250102104920.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)