vb常用的排序算法,一个简单的排序代码把我难住了
vb常用的排序算法,一个简单的排序代码把我难住了N=array(1,9 3 12,2 77 41 28)2.初始化二、冒泡排序法1.定义变量时如果没有明确变量类型,那么它默认的类型为variant类型。Dim n = dim n as variant
今天学习了刘金玉老师VB编程教程的第21期,学习的主要内容是冒泡排序算法。
一、算法的主要种类
1.算法的种类有冒泡排序法、选址排序法、折半查找法、快速排序法、穷举法等。
2.补充知识:variant数据是一种特殊的数据类型,除了定长string数据及用户定义类型外,可以包含任何种类的数据。使用vartype函数或者typename函数来决定如何处理variant中的数据。
二、冒泡排序法
1.定义变量时如果没有明确变量类型,那么它默认的类型为variant类型。
Dim n = dim n as variant
2.初始化
N=array(1,9 3 12,2 77 41 28)
3.求数组的长度:知道ubound函数(上边界的位置),lbound函数(下边界的位置)。求数组n的长度=ubound(N)-lbound(N) 1。这种算法可以动态计算数组的长度。
4.冒泡排序案例:
Private Sub Form_Load()
Show
Dim n As Variant
n = Array(4 7 2 5 77 43 33 88)
Dim length As Integer
length = UBound(n) - LBound(n) 1
Dim i As Integer
Dim s As String
For i = 0 To length - 1 Step 1
s = s & n(i) & " "
Next i
Print s
Dim j As Integer
For i = 1 To length - 1 Step 1
For j = 0 To length - 2 Step 1
If n(j) > n(j 1) Then
Dim Z As Integer
Z = n(j)
n(j) = n(j 1)
n(j 1) = Z
End If
Next j
Next i
R = ""
For t = 0 To length - 1 Step 1
R = R & n(t) & " "
Print R
Next t
End Sub
输入代码
运行结果
今天这节课把我难住了,感觉上一节课的for循环没有吃透,这节课用到for循环来排列数据,有点吃不消了,跟着老师写代码,写出来运行效果却不一样,郁闷啊。