c语言使用选择排序法对以下8个数进行从小到大排序{30,45,78,89,56,23,90,29}
时间: 2024-12-15 07:20:20 浏览: 11
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
在C语言中,我们可以使用选择排序算法来对给定的整数数组进行从小到大的排序。选择排序的基本思想是每次从未排序的部分找出最小(或最大)的一个元素,并将其放到已排序部分的末尾。以下是步骤描述:
1. 首先,遍历整个数组,找到最小的元素(在这个例子中是23),然后将它与第一个位置的元素交换。
2. 接下来,从剩余未排序的元素中再次找到最小的元素(现在是29),与第二个位置的元素交换。
3. 以此类推,直到最后一个元素的位置,这时数组就已经基本有序了。
对于提供的序列 {30, 45, 78, 89, 56, 23, 90, 29},排序后的结果应该是递增顺序。
下面是简单的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 size = sizeof(numbers) / sizeof(numbers[0]);
selectionSort(numbers, size);
printf("Sorted array: ");
for (int i = 0; i < size; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
运行上述代码后,你会看到输出的排序结果。
阅读全文