冒泡排序算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3次冒泡排序时 j 从 4 开始到4
算法分析
以i表 示次数
当i 从1到3 变化时 每次 j 从4 到i+1 时
d(j)比d(j-1)小,则交换它们 比 小 则交换它们
第1次冒泡排序时 j 从 4 开始到2
For j=4 to 2 step -1 if d(j)<d(j-1) then 交换d(j) 和d(j-1)的值
排序算法的分析及实现
冒泡排序
排序的意义
排序是为了将一组杂乱的数据变成一组 有序的数据。(递增或递减)
冒泡排序
理解: 理解:冒泡排序是在一列数据中把较小的数据逐次 向上推移的一种排序技术。 向上推移的一种排序技术。
冒泡排序
用数组来存储一系列同类型的数据, 用数组来存储一系列同类型的数据 然后调整数组中的元 素 例如: 定义一个数组变量d 例如 dim d(1 to 4) as integer ‘定义一个数组变量 定义一个数组变量 d d d d (1) (2) (3) (4) 27 36 32 18 27 36 j-1 18 32 j j-1 j 27 18 36 32 j-1 j 18 27 36 32
Private Sub Command2_Click() '产生8个随机数 Randomize '随机数初始化 List1.Clear '原始数据清空 List2.Clear '将排序后的列表数据清空 For i = 1 To 8 d(i) = Int(Rnd * 1000)
'Rnd 函数返回的随机数介于 0 和 1 之间,可等于 0,但不等于 1
当i 从1到3 变化时 每次 j 从4 到i+1 时 程序代码: 程序代码:
d(j)比d(j-1)小,则交换它们 比 小 则交换它们 N表示有几个数进行排序 表示有几个数进行排序
For i = 1 To n - 1 For j = n To i + 1 Step -1 If d(j) < d(j - 1) Then (
List1.AddIt源自文库m Str(d(i)) '将数据显示到原始数据列 表中 Next End Sub
冒泡排序算法
Private Sub Command1_Click() '对8个数进行冒泡法排序 List2.Clear '将排序后的列表数据清空 For i = 1 To 7 For j = 8 To i + 1 Step -1 If d(j) < d(j - 1) Then k = d(j): d(j) = d(j - 1): d(j - 1) = k End If Next j Next i For i = 1 To 8 List2.AddItem Str(d(i)) '在列表2中显示排序后的数据 Next i End Sub
k = d(j): d(j) = d(j - 1): d(j - 1) = k
)
End If Next j Next i 两个数进行数据交换, 两个数进行数据交换 就象两杯水进行交换, 就象两杯水进行交换 需要再拿一个空杯
当i 从1到3 变化时 每次 j 从4 到i+1 时
开始 i=1 N i≤n-1? Y 输出已排序数组d j=n i=i+1 N j>i? 结束 Y d(j)<d(j-1)? N j=j-1 Y 互换d(j)与d(j-1)的数据 d(j)比d(j-1)小,则交换它 比 小 则交换它
第2次冒泡排序时 j 从 4 开始到3
For j=4 to 3 step -1 if d(j)<d(j-1) then 交换d(j) 和d(j-1)的值
第3次冒泡排序时 j 从 4 开始到4
For j=4 to 4 step -1 if d(j)<d(j-1) then 交换d(j) 和d(j-1)的值
dim d(1 to 5) as integer 4 For i=1 To ______ i+1 For j=4 To ______ Step -1 If A(j)>A(j-1) Then 交换 A(j) 和 A(j-1) 的位置 End If Next j Next i
生成随机数,显示在list1
第1次冒泡排序时 j 从 4 开始到2
d d d d
(1) (2) (3) (4)
18 27 36 32
18 27 j-1 32 36 j
j-1 j
18 27 32 36
第2次冒泡排序时 j 从 4 开始到3
d d d d
(1) (2) (3) (4)
18 27 32 36
j-1 j
18 27 32 36