冒泡排序法

来源:互联网 发布:linux lnmp安装目录 编辑:程序博客网 时间:2024/06/05 02:36

首先是代码介绍

Dim a(1 To 10)

Private Sub Command1_Click()

 Form_Load

End Sub

 Private Sub Command2_Click()

p = “”

For i = 1 To 9     '冒泡排序          For j = 1 To 10 - iIf a(j) < a(j + 1) Then     '相邻两个数比较          t = a(j): a(j) = a(j + 1): a(j + 1) = t   '交换End If

Next j
Next i

For i = 1 To 10
p = p & Str(a(i)) & “,” ‘连接2个字符串
Next i

Label2.Caption = LTrim(Left(p, Len(p) - 1)) ‘去掉前面空格的函数,展现最后效果

End Sub

Private Sub Form_Load()
Dim p As String
Randomize

   p = ""   For i = 1 To 10  Do    x = Int(Rnd * 91) + 10  '产生随机数   yes = 0    For j = 1 To i - 1     '使产生的数组元素互不相同       If x = a(j) Then yes = 1: Exit For   '当yes = 1 时退出循环    Next j   Loop While yes = 1  a(i) = x  p = p & Str(a(i)) & ","Next iLabel1.Caption = LTrim(Left(p, Len(p) - 1))Label2.Caption = ""

End Sub

下面介绍一下关于冒泡排序法的基本思想

冒泡法排序(升序)

基本思想:(将相邻两个数比较,小的调到前头)

1)有n个数(存放在数组a(n)中),第一趟将每相邻两个数比较,小的调到前头,经n-1次两两相邻比较后,最大的数已“沉底”,放在最后一个位置,小数上升“浮起”;

2)第二趟对余下的n-1个数(最大的数已“沉底”)按上法比较,经n-2次两两相邻比较后得次大的数;

3)依次类推,n个数共进行n-1趟比较,在第j趟中要进行n-j次两两比较。

舞动的代码点击进入

0 0