标题: [分享]简单的了解一下VBS冒泡排序 [打印本页]
作者: wc726842270 时间: 2011-1-27 00:57 标题: [分享]简单的了解一下VBS冒泡排序
最近几天看了一眼VB的书,偶然看见了冒泡法排序,觉的还是挺不错的,想了想觉得有必要分亨一下,所以......
首先先说明一下什么是冒泡排序
冒泡排序
冒泡排序是常见的一种排序方法,该排序的思路是从数组的第一项开始,每一项(I)都与下一项(I+1)进行比较,如果下一项的值较小,就将这两项的位置交换,从而使你值较小的数据项移动到上面,这种操作反复进行,直到数组结束.然后再回到开头,进行重复处理,当整个数组自始至终再也不出现项目交换时,全部数据的排序结束.
举个例子,为了把一组数(10 7 3)按上升顺序排序,排序思序如下,
1 (10 7 3)比较10和7,因为10>7,所以交换位置,变成(7 10 3)再用10和3比较,因为所以交换位置,变成(7 3 10)
2 7和3比较,因为7>3交换位置,变成(3 7 10),比较7和10,因为7<10,不交换位置,至此,可以认为数据已排序完毕,但还要重复一次比较,进一步确认
以下是自已进行实验写的,数据个数不多,只有4个(怕麻烦),有兴趣的可以试试,由于能力原因,如有不足请荐谅,
- dim sint(4)
- for i=1 to 4
- do
- sint(i)=inputbox("请输入第"&i&"个数据","冒泡法测试")
- loop until isnumeric (sint(i))
- sint(i)=cint(sint(i))
- s="第"&i&"个数据:"& sint(i)&vbcrlf&s
- next
- msgbox s,,"原始数据"
- for j=1 to 3
- for k=1 to 4-j
- if sint(k) > sint(k+1) then
- tmp=sint(k+1)
- sint(k+1)=sint(k)
- sint(k)=tmp
- end if
- next
- next
- for a=1 to 4
- f="第"&a&"个数据:"&sint(a)&vbcrlf&f
- next
- msgbox f,,"处理后的数据"
复制代码
到最后说几句费话,学习真是累啊,现在WMI和ASP还不怎么懂,一天没看多少书就头疼,真是上火(也许是工作的原因?)
作者: broly 时间: 2011-1-27 01:30
学习VBS,那么ASP可以不用学习的,那个是网络编程,编网页的,如果你想学习的时候再学吧。
WMI感觉就很有用,必学。
作者: wc726842270 时间: 2011-1-27 01:51 标题: 回复 2楼 的帖子
多谢指点,我也觉的那东西很乱,那就以后再说吧,(前几天到刚上查了一下视频教程,感觉ASP的不比PS的少啊,真是上火,)
问一下VBS能用GOTO么?刚才本想用GOTO来着,但是没成功,实在是没办法只好用的DO......LOOP
[ 本帖最后由 wc726842270 于 2011-1-27 02:52 编辑 ]
作者: broly 时间: 2011-1-27 10:56
Goto语句如果想跟批处理那样用法,在VB上才行
[ 本帖最后由 broly 于 2011-1-27 11:26 编辑 ]
作者: broly 时间: 2011-1-27 11:21
只能在发生错误是用到
复制代码
[ 本帖最后由 broly 于 2011-1-27 11:24 编辑 ]
作者: wc726842270 时间: 2011-1-27 16:25 标题: 回复 5楼 的帖子
呵呵,看来我有些追求极端了,多谢了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |