请写出用选择法对10整数排序的c语言程序
时间: 2024-11-27 21:20:51 浏览: 8
冒泡法排序c语言程序.pdf
在C语言中,选择排序是一种简单的排序算法,它通过多次遍历来查找最小(或最大)元素并将其放到已排序部分的末尾。以下是使用选择法对10个整数进行升序排序的一个简单示例:
```c
#include <stdio.h>
// 将数组中的第i小的元素交换到第一个位置
void swap(int* a, int i, int j) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
// 选择排序函数
void selectionSort(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) {
swap(arr, i, min_index);
}
}
}
int main() {
int numbers[10] = {5, 2, 9, 1, 7, 6, 3, 8, 4, 0};
int n = sizeof(numbers) / sizeof(numbers[0]);
printf("Before sorting:\n");
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
selectionSort(numbers, n);
printf("After sorting (ascending):\n");
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
```
这个程序首先初始化了一个包含10个整数的数组,然后调用`selectionSort`函数对其进行排序,并最后打印出排序后的结果。
阅读全文