————————————————————摘自《数据结构》(严蔚敏)
===可以参照下图简单选择排序 理解,即===
第1趟 :在7个记录中选 最小的(1),作为第1个记录;
第2趟 :在6个记录中选 最小的(3),作为第2个记录;
第3趟 :在5个记录中选 最小的(4),作为第3个记录;
第4趟 :在4个记录中选 最小的(5),作为第4个记录;
第5趟 :在3个记录中选 最小的(6),作为第5个记录。。。。
简单选择排序------------图例-----------
--------------------------------图片摘自:
http://www.cnblogs.com/jeky/archive/2009/03/31/1426537.html
百度百科:
算法思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
然后在剩下的数当中再找最小的与第二个位置的数交换,
如此循环到倒数第二个数和最后一个数比较为止。
——————————————————————————————————————————————————————
for(i=0;i<9;i++)
{
k=i;
for(j=i+1;j<10;j++)
{
if(a[k]>a[j])
{
K=j; // 选择排序法,开始的时候椅子 a[i] 谁也不给,放在一边让大家看着,找个人k记录比赛结果,然后发 椅子 a[i] 。
}
// 椅子 a[i] 只发给a[k];
int b;
b=a[i];
a[i]=a[k];
a[k]=b;
}
}
——————————————————————————————————————————————————————
------我自己写算法的时候,由于没有透彻理解 简单选择排序 的核心,红字 里面是这样实现的:(这样就变成了另一种算法 定位比较交换法 )
if(a[k]>a[j])
{
int b;
b=a[i];
a[i]=a[k];
a[k]=b; //一次比较的时候,椅子 a[i] 都可能会被交换的
}
——————————————————————————————————————————————————————