内容正文:
桶排序导学案
桶排序算法思想:若参与排序的数据是从[n,m]之间随机产生的整数,即设置编号从n到m的桶(共n-m+1个),将排序的数据放入到对应编号的桶中,同时设置一个标志位,记录桶内的个数。在输出时,如果是升序排序,只要按照桶编号,从小到大进行检查,如果发现桶里满足大于等于1个数就输出桶的编号,快速实现升序排列。
桶排序算法实现三种功能:桶计数;桶排序;验证数据是否存在。
桶排序的解题模型:
试题分析:
例题2:模拟骰子随机投掷程序,用数组a存储骰子每次出现的数字(1-6),请编写程序统计每个数字出现的次数。ct(1)的值表示1出现的次数。
(
Dim ct( 1 to 6) as integer
‘
依次存储数字
1-6
出现的次数
for
i
=1 to n
①
Next
i
)
例3:
4.有VB编写的程序如下:
Private Sub Command1_Click()
Dim a(0 To 9) As Integer
Dim t as Long
t = Val(Text1.Text)
Do While t<>0
a(t Mod 10)= a(t Mod 10)+1
t=t\10
Loop
For i=0 To 9
If a(i)>=2 x=x+a(i)
Next i
End Sub
若在文本框Text1中输入46008959,则程序执行后,变量x的值为()
A.2 B.4 C.6 D. 8
课题总结
桶排序是一种典型的排序算法,在技术选考中,以选择题/填空题出现。实质是嵌套数组的应用。 桶排序算法解题模型:洗桶——装桶——数桶
$$