首页技术vb冒泡排序代码(vb随机排序)

vb冒泡排序代码(vb随机排序)

编程之家2026-06-131094次浏览

大家好,今天来为大家分享vb冒泡排序代码的一些知识点,和vb随机排序的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

vb冒泡排序代码(vb随机排序)

vb 冒泡排序

首先,所谓的冒泡排序,因为书本上都这样引入的,就是河里的气泡是从下向上移动的,所以为了符合这种说法,在排序过程中,也就从数组下标的大的元素开始,向数组下标小的元素方向进行。

数组排序要用双重循环:

外循环的次数,决定了需要排序多少轮次,6个元素的数组,需要5轮,n个元素的数组,需要n-1轮次。

内循环,决定每一轮是哪些元素进行比较交换。

规律或者目的:

第一轮,要把第1小的值(或第1大的值)移动到第1个元素的位置里,

vb冒泡排序代码(vb随机排序)

第二轮,要把第2小的值(或第2大的值)移动到第2个元素的位置里,

......

第n-1轮,要把第n-1小的值(或第n-1大的值)移动到第n-1个元素的位置里,

最后,第n个元素,不需要比较了,它一定是第n小(第n大的值),已经在第n个元素里了。

在比较的每一轮过程中,用for j= 6 to i+1 Step-1

你可以把每一轮的i,j的变化列表,就理解了:

vb冒泡排序代码(vb随机排序)

第一轮:有6个元素参与比较,一共比较5次(i=1,j=6 to 2)

第1次第2次第3次第4次第5次

a(5)与a(6) a(4)与a(5) a(3)与a(4) a(2)与a(3) a(1)与a(2)

第二轮:有5个元素参与比较,一共比较4次(i=2,j=6 to 3)

第1次第2次第3次第4次

a(5)与a(6) a(4)与a(5) a(3)与a(4) a(2)与a(3)

。。。。。。

其余,你自己分析吧?

VB冒泡排序法和选择排序法的优缺点比较

冒泡排序,在每一次比较的时候,如果发现相邻两数的次序不对,都会马上就把两数进行对调。

选择排序,则在比较过程中(内循环里面)并不进行对调,而是先记录下最小(大)数的下标,在一次扫描完成后再进行对调。所以它的效率会比冒泡的高一点。

但是冒泡排序是“稳定的”排序。就是说同样总分的若干名同学,排序前在前面的,排序后这些同学的相互位置不会发生改变。

而选择排序则是“不稳定的”排序。就是说同样总分的若干名同学,排序前原来相对排在前面的,排序后有可能会变到后面。

vb知识总结

VB知识点总结

目录

1第一章知识点... 2

2第二章知识点... 2

3第三章知识点... 3

4第四章知识点... 6

5第五章知识点... 7

6第六章知识点... 7

7第七章知识点... 9

8第八章知识点... 12

(1) 1第一章知识点

(1) VB的语言特点

可视化开发环境:界面设计所见所得;面向对象程序设计:程序和数据封装作为一个对象,在工具箱里面的都是一个一个的类,比如commandbutton类,当你把它从工具箱拖出来已经,它就被实例化成了一个对象,名称叫command1,如果你拖了2个command,就是2个不同的对象;事件驱动编程:VB程序没有明显的入口和出口,都在等待用户或者系统或者代码触发某个事件,然后执行事件对应的任务

(2) VB的工作模式

设计模式,运行模式,中断模式;程序在运行模式是没有办法修改代码和设计界面窗口的。

(3) VB的文件类型

窗体文件frm;程序模块文件bas;类模块文件cls;工程文件vbp;工程组文件vbg;资源文件res;保存工程的时候应该同时保存工程文件vbp和窗体文件frm。

(4) VB的窗口

任何的窗口被关闭了找不到了,都应该在视图菜单下面来寻找,工具箱窗口,代码窗口,窗体布局窗口,立即窗口(可以在中断模式下查询程序运行对象值,ctrl+G打开立即窗口)

(2) 2第二章知识点

(3)面向对象的基本概念

类:具有类似属性和方法的对象的抽象,比如大学;对象:类实例化就成为一个对象,每个对象都具有自己的属性和方法,比如西南财经大学天府学院。属性:对象的静态特征,最重要的属性是name,在VB里面对象的name是不能省略的,而且在程序运行的过程中是不能修改的;事件:人或者系统对对象的作用,对象是被动者,比如load,unload,timer;click等;方法:对象发出的行为,对手是主动者,比如move,show,hide等。

(4) VB的开发流程

第一步分析后画流程图

第二步界面设计

第三步编写代码

第四步测试运行

(5) 3第三章知识点

(1) VB书写代码的格式

² VB代码中不区分字母的大小写。

²同一行可以书写多条语句,语句间用冒号“:”分隔。

²一条语句可以写在同一行,也可以写在多行。续行符号是一个空格加下划线“_”。

²注释语句以Rem开头,也可以使用单引号“‘”。后者注释内容可直接出现在相关语句的后面。

² VB6中新增了“块注释/取消块注释”:在代码模式下,右击工具栏,在弹出菜单里把“编辑”项选中……

²变量和常量的命名规则:有数字,字母,下划线组成;字母作首字符;不超过255个字符;不能以VB关键字和系统常量做名字

(2) VB的数据基本类型

数值类型:

数据类型

名称

字节数

范围

举例

字节型

Byte

1

0~255

128

整型

integer

2

-32768~32767

1000

长整型

Long

4

32768

单精度

Single

4

7位小数

1.1

双精度

Double

8

15位小数

货币型

Currency

4

4位小数

字符串类型:

² string用“”双引号作为定界符

²声明一个字符串变量,不规定串长:dims as string

例:

dim s as string

S=”中国”

Print len(s)‘长度为4个字节

S=”abs”

Print len(s)‘长度为3个字节

²声明一个定长字符串,在后面加*指定字符串的长度 dim s as string* 8

例:

Dim s as sting* 6

Dim a as integer

S=”12345678”

Print len(s)‘长度为6个字节

a=len(s)

print len(a)‘长度为2个字节,如果打印其他类型的长度,则为其数据类型

所占用的字节数

日期类型

²用“”双引号或者##井号作为定界符

例:

dim a as date

A=#4/20/1999#

A=A-10

Print A‘#4/10/1999#减去的是天数

对象类型

²对象类型变量可以用来引用程序中各种对象,对象类型的使用分为声明,赋值,代表三步,类似给控件取一个小名

例:

Dim a as commandbutton

Set a=command1

a.caption=”hello”‘等价于command1.caption=”hello”

变体类型

²变体型声明方式 dim c或者dim c asvariant

例:

Dim a,b as double‘a是变体型

²变体型在未进行变量赋值前是值是empty

²变体型是数据类型根据赋值不同可以改变

例:

Dim A

A=”88”‘A是字符串“88”

A=A+10‘A的值是98

(3) VB常量的声明

²符号常量声明:关键字是const,必须在声明的时候进行初始化

²符号常量声明分隐式声明和显式声明

例:

Const a as string=”123”显式声明

Const a=true隐式声明

(4) VB变量的声明

变量声明:关键字是dim,变量必须要定义,再使用

变量声明分隐式声明和显式声明

类型

关键字

隐式声明后缀

整形

integer

%

长整形

long

&

单精度型

Signle

双精度型

Double

#

字符串

String

$

货币型

currency

@

例:

Dim a as double

Dim a%,b#

(5) VB运算符

运算符分类

²算术运算符:() ^*/\ mod+-

²关系运算符:<>=<=>=<>

²逻辑运算符:not and or xor eqv imp

运行符优先级

²算术运算符>字符串连接运算符>关系运算符>逻辑运算符

²优先级的顺序:

由上至下对应由高到低,同一行的优先级相同,程序顺序执行。

算术运算符(优先级最高)

()

sin cos…

^

*/\

mod

+-

关系运算符

>>=<<==<>

逻辑运算符(优先级最低)

Not

And Or Xor Eqv Imp

运算符

除法/\ mod:/是真正除法,返回商23/5=4.6

\是整除 23\5.8=3 23\5.2=4

Mod返回余数 23mod5.8=5 23mod5.2=3 1mod2=1

+号运算符:两边都是字符串做字符串连接“1“+”2“=”12“

一边是字符串一边是数值,把字符串转换成数值再加 1+”2”=3

两边都是数值做数值加法 1+2=3

+号的优先级高于&“300”&“123”+200=“300323”

关系运算符:运算结果是true或者false 1<=2为true

“a”<”b”比较的是ASCII

“abc”<“abd”从首字符依次比较ASCII

逻辑运算符:not取反

And取幷两个同时为true才为true

Or取或有一个为true就为true

Xor异或不同为true,相同为false

Eqv同或相同为true,不同为false

imp蕴含 true imp false为false其他都为true

(6) VB函数

数学运算函数

abs:取参数绝对值,如果变量未初始化,则为0 abs(-10)=10

int:取整,当为负数的时候,返回小于等于参数的第一个负整数int(-1.1)=-2

fix:取整,当为负数的时候,返回大于等于参数的第一个负整数fix(-1.1)=-1

exp:返回e的多少次方

log:返回参数的自然对数

字符串处理函数

Len:取字符串的长度,len(“abcdefg”)=7 len(“小白”)=4

Trim:去除字符串左右两边的空格

String:连续返回多少个字符串首字符 string(3,”abc”)=”aaa”

Lcase:大写字母变小写 lcase(“ABcd”)=”abcd”

Ucase:小写字母变大写 Ucase(“ABcd”)=”ABCD”

Left:返回字符串左边起多少个字符,如果个数大于长度全返回

left(“abcdef”,3)=”abc”

Right:返回字符串右边起多少个字符,如果个数大于长度全返回

right(“abcdef”,3)=”def”

mid:从中间某个位置返回指定长度的字符串

mid(“abcdef”,3,2)=”cd”

instr:返回指定字符串在另一字符串中出现的位置

instr(1,”abcdef”,”de”)=4 instr(4,“abcdef”,”cd”)=0

日期函数

类型转换函数

其他函数

Cstr:把数值转化成字符串

Val:把字符串转化成数值

Rnd:产生随机数

Int(Rnd()*90+10)范围是10-99

Int(Rnd()*99+1)范围是1- 99

(6) 4第四章知识点

(1) inputbox函数

² inputbox用于接收用户的键盘数据的输入,只接收一个数据输入

² inputbox的语法格式:inputbox(“提示信息”,”标题”,”默认值”)

²提示信息长度不能超过1024字节

²对话框标题如果不写,默认为工程1,和““空标题不一样

² Inputbox返回的数据类型是string,因此通常返回数值类型的时候需要加val函数把字符串转换成数值

(2) msgbox函数

² msgbox函数用于进行消息的提示,并且接受用户的反馈的单击按钮信息

² msgbox的语法格式:

msgbox(“提示信息”,对话框按钮组合方式+图标+默认按钮,”标题”)

²提示信息长度不能超过1024字节

²对话框标题如果不写,默认为工程1,和““空标题不一样

² Msgbox返回的数据类型是integer类型,即用户单击了消息框按钮后返回vbyes,vbno等VB常量,详细请参考书上对应的表格

(3) msgbox语句

² msgbox语句和msgbox函数的相同之处都是给出一个消息提示

² msgbox语句和msgbox函数的不同之处是语句没有返回值,即用户单击了消息框按钮后,也没有任何的信息返回

²其他语法规则,包括对话框的组合方式都和msgbox函数是完全一样的

(4) print方法

² print方法用于在form上或者在打印机上输出数据

² print单独写是打印一个空行

² print后面加;号是连续在一行输出

² print后面加,号是以14个字符为一个输出区输出各表达式

² tab(n)是绝对距离

² spc(n)是相对距离

(7) 5第五章知识点

笔试不考

(8) 6第六章知识点

标签

²类名叫label,实例化对象名字默认叫label1,即name属性

² Caption:显示标签的文本内容,例如label1.caption=”欢迎vb”

² Backstyle:设置标签透明效果,0为透明,1为不透明

文本框

²类名叫textbox,实例化对象名字默认叫text1,即name属性

² Text:用来显示或者获取文本框的内容,例如:text1.text=”12”显示12到文本框,a=text1.text获取文本框输入的内容

² Alignment:文本框的对齐方式

² Enable:设置文本框是不是可用

² Visible:设置文本框可见与否

² Tooltiptext:设置鼠标放置上去后的提示信息

² Passwordchar:输入或者显示密码的符号

² Maxlength:设置输入字符的最大长度,为0可以输入任意长度

² Change事件:文本框内容发生变化的时候就触发

命令按钮

²类名叫commandbutton,实例化对象名默认叫command1,即name属性

² Canel:设置按钮是否为当前窗体中默认取消按钮,ESC时触发

² Default:设置按钮是否为当前窗体默认确定按钮,ENTER时触发

计时器

²类名叫timer,实例化对象名默认叫timer,即name属性

² Enable:设置文本框是不是可用

² Interval:设置计时间隔,单位毫秒

图形按钮

²类名叫pictureBox,实例化对象名默认叫picture1,即name属性

² Picture:设置该属性装载图片,格式Picture1.picture=loadpicture(“URL”)

单选按钮

²类名叫optionbutton,实例化对象名默认叫option1,即name属性

² Caption:显示单选按钮的文本内容

² Value:确定单选按钮是不是被选中,值为true和false

If option1.value=true then

Label1.caption=option1.caption

Elseif option2.value=true then

Label1.caption=option2.caption

End if

复选按钮

²类名叫checkbox,实例化对象名默认叫check1,即name属性

² Caption:显示复选按钮的文本内容

² Value:确定复选按钮是不是被选中,值为0和1,2分别表示为未选中,选中,不可以使用

If check1.value=1 then

Label1.caption=check1.caption

endif

If check2.value=1 then

Label1.caption=check2.caption

End if

滚动条

²类名叫scrollBar,实例化对象名默认叫scroll1,即name属性

² Max:滚动条的最大值

² Min:滚动条的最小值

² Smallchange:单击滚动条箭头时value的变化量

² Largechange:单击滚动条空白时value的变化量

² Value:滑动块所处的位置

² Scroll事件:滑动块实时移动的时候一直触发

² Change:单击空白,单击箭头,滑动块移动鼠标释放的时候触发一次

列表框

²类名叫listbox,实例化对象名默认叫list1,即name属性

² List:列表框第i-1项的内容,存放数据的地方,访问用下标list(1)

² Listcount:表示列表框的列表项数

² Listindex:选中项下表,例:被选中项内容:list1.list(list1.listindex)

² Selected:下标表示项选中与没选中的状态

² Additem:在列表框指定位置插入一行文本,例:插入到最后

List1.additem“aaaa”,list1.listcount-1

² Removeitem:删除列表项,例:删除当前选中项

List1.remveitem list1.listindex

² Clear:清空列表框

组合框

²类名叫combobox,实例化对象名默认叫combo1,即name属性

²组合框是组合的textbox和listbox,所以有这两个控件共同的属性

²使用的时候只是对象名要变成combo1,其他属性参考list

(9) 7第七章知识点

重点是要能写程序,灵活应用

程序设计有三种结构,顺序结构,条件结构,循环结构

条件结构

² If条件then任务,endif省略

² If条件then任务 else任务,end if省略

² If条件then

任务

Endif

² If条件then

任务

Else

任务

Endif

² If条件then

任务

Elseif条件then

任务

Elseif条件then

任务

Elseif条件then

任务

Endif

只要有一个条件满足,后面都不会判断

² Select case变量

Case值

任务

Case值列表

任务

Case值范围

任务

Case条件表达式

任务

End select

只要有一个条件满足,后面都不会判断

循环结构

² For型循环

For变量=初值 to终值step步长

任务

Next变量

退出循环的时候变量要多加一次1

例子for i=1 to 100 step 1

S=s+i

Next i

² While型循环

变量=初值

While条件

任务

变量=变量+步长

Wend

例子:while i<=100

S=s+i

i=i+1

wend

² Do型循环

Do while条件

任务

Loop

例子:Do while i<=100

S=s+i

I=i+1

Loop

Do until条件

任务

Loop

例子: Do until i>100

S=s+i

I=i+1

Loop

Do

任务

Loop while条件

例子: Do

S=s+i

I=i+1

Loop while i<=100

Do

任务

Loop until条件

例子: Do

S=s+i

I=i+1

Loop until i>100

Goto语句

语句标号:任务

If条件 then

Goto语句标号

Endif

例子:a:s=s+i

I=i+1

If i>=100 then

Goto a

End if

Exit语句强制退出循环

(10) 8第八章知识点

数组的声明

Dim数组名(下标 to上标)as数据类型

Dim a(1 to 10) as integer长度为10

Dim b(5) as integer长度为6,下标省略

如果想让默认下标从1开始,加optionbase 1

数组的操作:赋值,引用,输入,输出,复制

在对数据进行操作的时候要保证数组下标不溢出

输入10个数,找最大最小平均,冒泡排序

Private Sub Command1_Click()

Dim a(1 To 10) As Integer

Dim i As Integer

Dim j As Integer

Dim max As Integer

Dim min As Integer

Dim avg As Integer

Dim sum As Integer

For i= 1 To 10

a(i)= Val(InputBox("","","1"))

Print a(i);

Next i

max= a(1)

min= a(2)

For i= 1 To 10

If max< a(i) Then

max= a(i)

End If

If min> a(i) Then

min= a(i)

End If

sum= sum+ a(i)

Next i

avg= sum/ 10

Print"max="; max;"min="; min;"avg="; avg;

For i= 1 To 9

For j= 1 To 10- i

If 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

Print a(i);

Next i

End Sub

vb冒泡排序代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb随机排序、vb冒泡排序代码的信息别忘了在本站进行查找哦。

iframe参数设置 iframe设置宽高ai相机是干什么用的?ai相机有什么用