VB编程问题
1个回答
展开全部
Start = LBound(a)和 Finish = UBound(a)分别是把数组a的下标下限和上限赋值给两个变量,但从整个程序来看,这两行语句并没有起到作用,变量没有被使用。
两个For循环是为了在一堆数字中互相比较大小最终实现排序,比方说要把四个人按身高由高到低排列,那么就先从四个人中找出最高的,再从剩下的三个人中找出第二高的,剩下的两个人中比较高的则是第三高的,OK搞定!里面那层循环(For j = 1 To 3)是负责比较的,外面的循环(For i = 4 To 2 Step -1)是用来控制比较的次数(三次)的。
你这段程序存在两个问题:
1、只能对含4个元素的数组进行排序(就是因为Start和Finish两个变量没有利用上)
2、每次比较大小时,已排好序的数仍然要再次参与比较,这个纯属浪费(比方说最高的人已经找到了,第二次他又要再次和其他人去比较,你说是不是脱裤子放屁呢?)
两个For循环是为了在一堆数字中互相比较大小最终实现排序,比方说要把四个人按身高由高到低排列,那么就先从四个人中找出最高的,再从剩下的三个人中找出第二高的,剩下的两个人中比较高的则是第三高的,OK搞定!里面那层循环(For j = 1 To 3)是负责比较的,外面的循环(For i = 4 To 2 Step -1)是用来控制比较的次数(三次)的。
你这段程序存在两个问题:
1、只能对含4个元素的数组进行排序(就是因为Start和Finish两个变量没有利用上)
2、每次比较大小时,已排好序的数仍然要再次参与比较,这个纯属浪费(比方说最高的人已经找到了,第二次他又要再次和其他人去比较,你说是不是脱裤子放屁呢?)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询