选择排序c语言源代码
时间: 2024-09-26 07:08:09 浏览: 31
选择排序算法C语言源程序.zip
5星 · 资源好评率100%
选择排序是一种简单直观的排序算法,它的工作原理是每一次从未排序的数据元素中找到最小(或最大)的一个,存放在已排序序列的末尾,直到所有元素均排序完毕。以下是C语言实现的选择排序源代码:
```c
#include <stdio.h>
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
// 找到未排序部分的最小值
int min_idx = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
// 将找到的最小值放到已排序部分的最后
if (min_idx != i) {
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
}
}
// 测试函数
int main() {
int arr[] = {64, 25, 12, 22, 11};
int n = sizeof(arr) / sizeof(arr[0]);
printf("原始数组: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
selectionSort(arr, n);
printf("\n排序后的数组: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在这个代码中,`selectionSort` 函数实现了选择排序的过程,而 `main` 函数则创建了一个整数数组并展示了排序前后的结果。
阅读全文