注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

谷海涛 廊坊师范学院信息技术提高班十四期

当你的才华还撑不起你的野心时,就应该静下心来学习!

 
 
 

日志

 
 

VB中的排序方法(选择法和冒泡法)  

2016-11-30 14:09:22|  分类: VB |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

选择法算法思想:

(1) n个数的序列中选出最小的数,与第1个数交换位置;

(2) 除第1个数外,其余n-1个数再按(1)的方法选出次小的数,与第2个数交换位置;

(3) 重复(1)n-1遍,最后构成递增序列。

VB中关键语句如下:

Dim a%(), i%, j%, n% 

For i = 1 To n-1      '选择排序,双重循环      

     For j = i + 1 To n '1 to n          

         If a(i) < a(j) Then  '如果前一个数大于后一个数,则交换位置。">"数据从小到大排列;                                     "<"数据从大到小排列

             t = a(i): a(i) = a(j): a(j) = t

          End If

     Next j

  Next i

   For i = 1 To n

       p = p & Str(a(i)) & ","

   Next i

冒泡法算法思想:

(1) 从第一个元素开始,将相邻的数比较,若为逆序,就交换,比较完一轮,最大的数已沉底,成为数组中的最后一个元素a(n)

(2) a(1)a(n-1)n-1个数进行同(1)的操作,次大的数放入a(n-1)中,完成第二轮排序。

(3) 进行n-1轮排序,所有的数排序完毕。

(4) 程序采用2轮循环,外循环遍历要排序的元素,内循环用于挑选出最值。内循环用于将相邻的两个元素进行比较,将小的元素调到大元素的前头。内循环的循环次数表示相邻元素的交换趟数。

 VB中关键语句如下:

Dim a%(), i%, j%, n%

  For i = 1 To n - 1

   For j = 1 To n - 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

 Print

 For i = 1 To n

    Print a(i);

 Next i

 

  评论这张
 
阅读(49)| 评论(17)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017