- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选择排序配套浙教版讲述
简单选择排序
选择排序方法
43
18
9
13
55
7
43
以7个元素为例说明选择排序
位置1~位置7的元素初始排列如下所示
选择排序方法
43
18
9
13
55
7
43
第一趟:从7个元素中选出最小者,将其换入位置1,过程为:min为最小元素的位置序号(初值为1),令a(min)表示最小元素的值(初值为位置1的元素),逐一比较,找出最小元素及其位置
位置6的元素最小
交换
选择排序方法
7
18
9
13
55
43
43
第二趟:从6个元素中选出最小者,将其换入位置2,过程为:min为最小元素的位置序号(初值为2),令a(min)表示最小元素的值(初值为位置2的元素),逐一比较,找出最小元素及其位置
位置3的元素最小
交换
选择排序方法
7
9
18
13
55
43
43
第三趟:从5个元素中选出最小者,将其换入位置3,过程为:min为最小元素的位置序号(初值为3),令a(min)表示最小元素的值(初值为位置3的元素),逐一比较,找出最小元素及其位置
位置4的元素最小
交换
选择排序方法
7
9
13
18
55
43
43
第四趟:从4个元素中选出最小者,将其换入位置4,过程为:min为最小元素的位置序号(初值为4),令a(min)表示最小元素的值(初值为位置4的元素),逐一比较,找出最小元素及其位置
位置4的元素最小
交换
选择排序方法
7
9
13
18
55
43
43
第五趟:从3个元素中选出最小者,将其换入位置5,过程为:min为最小元素的位置序号(初值为5),令a(min)表示最小元素的值(初值为位置5的元素),逐一比较,找出最小元素及其位置
位置6的元素最小
交换
选择排序方法
7
9
13
18
43
55
43
第六趟:从2个元素中选出最小者,将其换入位置6,过程为:min为最小元素的位置序号(初值为6),令a(min)表示最小元素的值(初值为位置6的元素),逐一比较,找出最小元素及其位置
位置7的元素最小
交换
选择排序方法
43
18
9
13
55
7
43
以7个元素为例,经过6趟选择,将元素排列有序
排序
1. 在a(i)、a(i+1)、…a(n)中通过比较找到存放最小数的位置t 的代码实现
‘最小数存放位置min预设为I(i)号位置
‘从2(也就是i+1)号到n号的元素为止,每个元素与min号元素比较,如果有哪个元素比min号元素小,那么用变量min记录这个元素号。
‘用变量j来表示当前用以比较的元素的位置。
For j = i + 1 To n
If d(j) d(t) Then t = j
Next j
min = i
选择排序算法
7个元素进行选择排序时,需要六趟,用i表示趟数
i ← 1
i=6?
结束
Y
i ← i+1
N
进行第i趟选择排序
开始
选择排序算法
7个元素进行选择排序时,需要六趟,用i表示趟数
i ← 1
i=6?
结束
Y
i ← i+1
N
min表示最小元素的位置
开始
j=7?
选择排序算法
For i = 1 To n - 1
min = i
For j = i + 1 To n
If a(j) a(min) Then min = j
Next j
If i t Then
t= a(i)
a(i) = a(min)
a(min) = t
End If
Next i
Private Sub Command2_Click() 选择排序按钮被单击
Dim t, min, i, j As Integer
List1.Clear
For i = 1 To n - 1
t = i
For j = i + 1 To n
If a(j) a(min) Then min = j
Next j
If i min Then
t = a(i)
a(i) = a(min)
a(min) = t
End If
Next i
For i = 1 To n 在列表2中显示排序后的数据
List1.AddItem Str(a(i))
Next i
End Sub
完整代码:
冒泡算法的核心代码填空
For i = 1 To ___________ ‘要求从小到大排序
For j = ____ To ______
If a(j) ___ a(j-1) Then
t=a(j)
a(j)=a(
文档评论(0)