分享免费的编程资源和教程

网站首页 > 技术教程 正文

学习VB编程第14天,一个简单的排序代码把我难住了

goqiw 2025-02-14 23:11:26 技术教程 72 ℃ 0 评论

今天学习了刘金玉老师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循环来排列数据,有点吃不消了,跟着老师写代码,写出来运行效果却不一样,郁闷啊。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表