
#include <stdio.h>
void swap(int a[], int i, int j)
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
void select(int a[], int n)
{
int i, j, k;
for (i = 0; i < n - 1; i++)//每次将最小元放在式子的最前面,每次式子最前面都向后移动
{
int min = i;
for (j = i + 1; j < n; j++)
if (a[j] < a[min])
min = j;
swap(a, i, min);
for (int o = 0; o < n; o++)
printf("%d,", a[o]);
printf("\n");
}
}
int main()
{
int n;
scanf("%d", &n);
int a[n];
for (int i = 0; i < n; i++)
scanf("%d,", &a[i]);
// for(int i=0;i<n;i++)
// printf("%d,",a[i]);
select(a, n);
return 0;
}
C++实现选择排序:原理与代码详解
本文介绍了一段使用C++编写的代码,通过选择排序算法逐步将数组中最小元素置于起始位置。通过两层循环,首先找到未排序部分的最小元素,然后与当前位置交换,展示了如何在实际编程中操作数组进行简单排序。
&spm=1001.2101.3001.5002&articleId=109685724&d=1&t=3&u=fe0adde6939d4066a037c7cdd22284de)

被折叠的 条评论
为什么被折叠?



