算法--排序

选择排序

(一)解题思路:
1、第一轮排序,在随机数组中选出最小的记录,将它第1个记录交换,使有序区记录个数增加1个(即记录个数变为1个),随机数组记录个数减少1个。
2、第二轮排序,在随机数组中选出未排序中最小的记录,将它随机数组的第2个记录交换,使有序区记录个数增加1个(即记录个数变为2个), 随机数组记录个数减少1个。
3、如此下去,重复以上过程,直至最终完成排序。
(二)代码如下:

For i = 1 To 9

For j = i + 1 to 10

if a(j) < a(i) then

t = a(i)

a(i)=a(j)

a(j)=t

end if

next j

next i

(三)图形表示
    
(四)选择排序舞蹈视频链接
            http://v.game.sohu.com/play_35218033.html?fromvsogou=1
 
冒泡排序
(一)解题思路
    1、第一轮,首先比较第1个和第2个数,将小数放前,大数放后;然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一轮结束,将最大的数放到了最后。
     2、第二轮,仍从第一个数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二轮结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。
      3、如此下去,重复以上过程,直至最终完成排序。
(二)代码表示

For i = 1 + 9

For j = 1 to 10-i

if a(j) < a(j+1) then

t = a(i)

a(j)=a(j+1)

a(j+i)=t

end if

next j

next i


(三)图形表示

 
(四)冒泡排序舞蹈视频链接
       http://v.ku6.com/show/wXbEz_f1u8eB3D8ngrHmOg...html?fromvsogou=1

插入排序

一)解题思路(从大到小排列)
  第一轮,一组无序数列,从第二个开始,与第一个数比较,若第二个数大于第一个数,则第二个数前插,第一个数后移,前两个数则形成有序区;
第二轮,第三个数依次与前两个数从后像前比较,然后将第三个数插入有序区内。
第三轮,依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。

(二)代码表示
for j = i - 1 to 1 step - 1
    if  a (j + 1) > a(j) then  exit for
    tmp = a(j + 1)
   a(j + 1)=a(j)
   a(j) = tmp
next j

(三)图形表示



(四)插入排序舞蹈视频连接


评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值