专栏首页编程创造城市VB语言基础重要知识点21(冒泡排序法)

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

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

本期案例:

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

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

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

达成目标:2 5 6 8

设计界面

点击按钮后的效果


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

将思想转换为代码。

比较的时候,其实就是使用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

本文分享自微信公众号 - 编程创造城市(bcczcs),作者:刘金玉编程

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VB语言基础重要知识点19(for循环应用)

    在文本框中输入一个数字,点击输出按钮,在窗体上打印出五角星点阵的正方形。从中体会双重for循环的力量。

    刘金玉编程
  • VB语言基础重要知识点20(滚动条应用)

    刘金玉编程
  • 创客是什么?你了解创客吗?你在使用计算机编程做创新吗?

    随着我国科教兴国战略的逐渐深入,我们越来越重视科学技术,因为科学技术是第一生产力!然而,想要有更好的科技必须要有更好的教育。因此,教育是科技的先驱力量,只有重视...

    刘金玉编程
  • 【投稿】实战 | 6个步骤巧用知觉图 快速高效解析品牌定位

    本文为HCR-慧思拓电商数据研究总监张淳投稿,如需转载请注明作者与来源。 传统研究时代,知觉图(perceptual map)是一个简洁直观解析品牌定位的经典工...

    CDA数据分析师
  • Jmeter(四十二)_控制器下遍历一组参数

    在接口自动化的过程中,经常遇到需要遍历的参数组。jmeter在中,foreach控制器可以实现遍历参数,但是只能有一个入参。一旦遇到数组,foreach控制器表...

    飞天小子
  • 测试必备之Java知识(一)—— Java基础

    开发的java源代码,通过javac编译成为平台无关的字节码文件(class),然后通过JVM的解释器将字节码解释成对应的机器码

    小菠萝测试笔记
  • Day23:二叉搜索树的后序遍历序列

    背景知识介绍   在做此题时,我们应该熟练掌握二叉搜索树的相关知识,首先我们定义二叉搜索树:在二叉查找树(英语:Binary Search Tree),也称为...

    stefan666
  • 性能环境之Jenkins+Maven自动化部署SpringBoot压测环境(Docker篇)

    在上文性能环境之Jenkins+Maven自动化部署SpringBoot压测环境(实战篇)中我们介绍了常规部署流程,本文将在上文的基础上扩展Jenkins+Ma...

    高楼Zee
  • 从学习 Paddle 开始学习深度学习

    优点 灵活性:PaddlePaddle支持广泛的神经网络结构和优化算法,很容易配置复杂的模型,如基于注意力(Attention)机制或复杂的内存(Memory)...

    用户1332428
  • 更聪明地学习,而不是苦读——《如何高效学习》

    所以,需要持续大量学习的童鞋,比方说我等程序员们,除了要从知识的海洋中精挑细选出我们想要的内容,挑完了还得高效学习,不然成长的速度可能远远赶不上脱发的速度,沦落...

    mzlogin

扫码关注云+社区

领取腾讯云代金券