用选择法对10整数排序c
时间: 2024-10-15 10:20:42 浏览: 10
在C语言中,使用选择法(Selection Sort)对一组整数进行排序并不是最优的选择,因为它的平均和最坏时间复杂度都是O(n^2),效率较低,特别是对于大数据量的排序。但是,如果你仍然想了解这个算法的基本步骤,以下是选择排序的一个简单实现,假设我们要对10个整数进行排序:
```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[10] = {5, 2, 9, 1, 7, 4, 6, 8, 3, 0}; // 示例数组
int size = sizeof(numbers) / sizeof(numbers[0]);
printf("Before sorting:\n");
for (int i = 0; i < size; i++) {
printf("%d ", numbers[i]);
}
selectionSort(numbers, size);
printf("\nAfter sorting:\n");
for (int i = 0; i < size; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
在这个例子中,`selectionSort`函数会逐步找出剩余部分中最小的元素,并将其放到已排序序列的末尾。
阅读全文