您的位置:首页 > 理论基础 > 数据结构算法

我---对‘数据结构’中‘排序’的理解 ---------2:选择排序--(一)简单选择排序

2011-02-23 11:34 363 查看


————————————————————摘自《数据结构》(严蔚敏)

===可以参照下图简单选择排序

理解,即===

第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]


都可能会被交换的

}

——————————————————————————————————————————————————————
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: