选择排序的工作原理是:每次从未排序数列找到最小值放到前面,前面的数形成一个有序数列,到最后一个数为止。这种算法虽然也是双层循环,但每次循环只交换一次会节省不少空间。
主要代码:
void select_sort(int a[], int n)
{
for(int i=0;i<n-1;i++)
{
int flag = i;
for(int j=i;j<n;j++)
if(a[j]<a[flag]) flag = j;
int t = a[i];
a[i] = a[flag];
a[flag] = t;
}
}
过程: