输入10个数 用选择法排序
时间: 2023-07-01 10:17:22 浏览: 46
选择排序是一种简单直观的排序算法,它的基本思想是每次从剩余未排序元素中选取最小的元素,放到已排序序列的末尾,直到整个序列都被排好序为止。
下面是用选择法对10个数进行排序的实现代码:
```
#include <stdio.h>
void selectionSort(int arr[], int n)
{
int i, j, min_idx;
for (i = 0; i < n-1; i++)
{
// find the minimum element in unsorted part of the array
min_idx = i;
for (j = i+1; j < n; j++)
{
if (arr[j] < arr[min_idx])
{
min_idx = j;
}
}
// swap the found minimum element with the first element
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
}
int main()
{
int arr[10];
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
selectionSort(arr, 10);
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
```
在这段代码中,我们通过两层循环来实现选择排序。外层循环用于遍历所有元素,内层循环用于找到未排序序列中的最小值并将其交换到已排序序列的末尾。由于选择排序的时间复杂度为 O(n^2),因此不适用于大规模数据的排序。