选择排序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

算法实现
For i = 1 To 4
d[1] d[2] d[3] d[4] d[5]
k=i For j = i + 1 To 5
5 89 1 6
If d(j) < d(k) Then k = j
寻找这一遍中最小数据的下标
Next j
i<=4 N
If k <> i Then c = d(k): d(k) = d(i): d(i) = c
d[1] d[2] d[3] d[4] d[5]
第一遍
5 89 1 6
k=1 For j = 2 To 5
If d(j) < d(k) Then __k_=__j___
Next j
假定d[1]为最小数
在d[2] 和 d[5]之间采用“擂台法” 一一比较
_If_k_<_>__1_t_h_e_n__c = d(k): d(k) = d(i): d(i) = c
算法实现
d[1] d[2] d[3] d[4] d[5]
5 89 1 6
i<=4 N Y
找最小数
1.总共排序4遍 2.分析在第一遍排序时,要保证第一个数为最小的数据,那我们先假定第一个为最小的
然后是不是在剩下的数中寻找有没有比她小的,有交换没有就下一轮。 3.循环4次
交换 Hale Waihona Puke Baidu=i+1
算法实现 第一遍
找最小Y 数
Next i
交换
i=i+1
总结
选择排序 在参加排序的所有元素中找出最小(或最大)数据,使它与第一个元素中的数据
相互交换位置; 然后再在余下的元素中找出最小(或最大)数据,与第二个元素中的数据交换位置 以此类推…………………… n个数据要排序n-1遍
排序
选择排序
观察
数据6 8 9 1 7 进行从小 到排序
电脑是怎么完成的???
选择排序
选择排序算法基本思想
升序 降序
在参加排序的所有元素中找出最小(或最大)数据, 使它与第一个元素中的数据相互交换位置;
然后再在余下的元素中找出最小(或最大)数据, 与第二个元素中的数据交换位置
以此类推……………………
算法实现 第二遍
d[1] d[2] d[3] d[4] d[5]
第二遍
1 89 5 6
k = 21
For j =32 To 5
假定d[2]为最小数
If d(j) < d(k) Then __k_=__j___
Next j
2 _If_k_<_>__1_t_h_e_n__c = d(k): d(k) = d(i): d(i) = c
举例 对数据进行升序排序
5 原数据 1 第一遍 1 第二遍
89 89 59
1 6 1 56 8 9
第三遍
56 1 56 8 9
86
第四遍
练习
数据69 36 42 31 72 48 从小 到大进行选择排序,第3遍排序后的 结果为? 数据总共要排序多少遍? 数据交换了多少次?
n个数据排序n-1遍
相关文档
最新文档