#include <stdio.h>
void select_sort(int arr[], int n)
{
int i;
int j;
int min_idx;
int tmp;
for (i = 0; i < n - 1; i++)
{
min_idx = i;
// 查找最小元素的索引
for (j = i + 1; j < n; j++)
{
if (arr[j] < arr[min_idx])
{
min_idx = j;
}
}
// 将最小元素与当前位置交换
tmp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = tmp;
} // end of for i
}
int main()
{
int arr[] = {5, 2, 8, 9, 1, 3};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Before sorting: ");
for (int i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
selection_sort(arr, n);
printf("\nAfter sorting: ");
for (int i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
12-15
11-17
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交