使用c语言使用选择排序法对以下8个数进行从小到大排序{30,45,78, 89,56,23,90,29}
时间: 2024-12-15 20:18:24 浏览: 12
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
选择排序是一种简单直观的排序算法,其基本思想是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。下面是使用C语言实现选择排序对给定数组进行从小到大排序的步骤:
```c
#include <stdio.h>
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;
}
}
// 将找到的最小值与当前位置交换
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
int main() {
int numbers[] = {30, 45, 78, 89, 56, 23, 90, 29};
int n = sizeof(numbers) / sizeof(numbers[0]);
printf("原始数组: ");
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
selectionSort(numbers, n);
printf("排序后的数组(从小到大): ");
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
```
当你运行这段代码后,它会输出排序前后的数组。注意这个排序过程是就地进行的,并不会创建新的数组。
阅读全文