天天看点

VB语言基础重要知识点21(冒泡排序法)

本期我们讲解冒泡排序法,使用VB语言。

本期案例:

我们的原始数是一个数组a

这个a数组的数据依次是:5 2 8 6

现要将a中的数据进行排序:从小到大

达成目标:2 5 6 8

设计界面

VB语言基础重要知识点21(冒泡排序法)

点击按钮后的效果

VB语言基础重要知识点21(冒泡排序法)

两个数据的比较思想是怎样的?

VB语言基础重要知识点21(冒泡排序法)

将思想转换为代码。

比较的时候,其实就是使用if语句的时候。

text1中的文本是5

text2中的文本是2

如何比较,取出小的那个值?

if val(text1.text)>val(text2.text) then

print text2.text ’这里是小的值

else

print text1.text '这里是大的值

end if

本例冒泡排序的思想讲解:

冒泡排序,我们这里的排序是按照从小到大排序。

原始 5 2 8 6 在a这个数组中的。

实际就是:

a(0)=5

a(1)=2

a(2)=8

a(3)=6

小思想:先要找到最小的数字,然后,找到第二小,逐渐一个个找出来。

比较过程如下:

第一趟:找到最小的数字

基准:以第一个数字作为基准。假设第一个数字是最小值,去跟后面所有的数进行比较。

第一轮:2 5 8 6

第二轮:2 5 8 6

第三轮:2 5 8 6

第一趟的结果:2 5 8 6

第二趟:找出第二小的数字

基准:以第二个数字作为基础。

第一轮:2 5 8 6

第二轮:2 5 8 6

第二趟结果:2 5 8 6

第三趟:找出第三小的数字

基准:以第三个数字作为基准。

第一轮:2 5 6 8

下面将思想转为代码:

'开始趟数

for i=0 to 2 step 1

’开始轮数

for j=1 to 3-i step 1

if a(i)>a(j+i) then '实现交互

t=a(i)

a(i)=a(j+i)

a(j+i)=t

end if

next j

next i

源代码如下:

Option Explicit
Dim a(3) As Integer
Private Sub Command1_Click()
a(0) = 5
a(1) = 2
a(2) = 8
a(3) = 6
Dim i%, j%, t%'
开始趟数  
For i = 0 To 2 Step 1
    '开始轮数
        For j = 1 To 3 - i step 1
         If a(i) > a(j + i) Then '实现交互
                   t = a(i)          
                   a(i) = a(j + i)          
                   a(j + i) = t       
                   End If    
                   Next j      
                   
                   Next i    
                 For i = 0 To 3 Step 1    
                 Print a(i)  
                 Next iEnd Sub           

复制

相关文章:

  1. VB语言基础重要知识点01
  2. VB语言基础重要知识点02
  3. VB语言基础重要知识点03
  4. VB语言基础重要知识点04
  5. VB语言基础重要知识点05
  6. VB语言基础重要知识点06
  7. VB语言基础重要知识点07
  8. VB语言基础重要知识点08
  9. VB语言基础重要知识点09
  10. VB语言基础重要知识点10
  11. VB语言基础重要知识点11
  12. VB语言基础重要知识点12
  13. VB语言基础重要知识点13
  14. VB语言基础重要知识点14
  15. VB语言基础重要知识点15
  16. VB语言基础重要知识点16
  17. VB语言基础重要知识点17
  18. VB语言基础重要知识点18