我们做一些游戏脚本软件时候,经常要用到这个算法,比如求解离自己身边最近的怪物优先攻击,就要用到这个算法,冒泡算法可以快速的把一组数据按照从大到小,或者从小到大的顺序进行快速排序.
冒泡算法的核心就是,从第一位开始把数据提取出来,跟余下的数据逐一进行比大或者小(看你是按照从大到小,还是从小到大顺序进行排),大或者小的数交换位置,第一位比较完毕后,再从二个位开始把数据提取出来,跟余下的数据进行比较,依次进行.
下面给出易语言源码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
.版本 2 .支持库 spec .子程序 子程序_按照从小到大排序 .局部变量 局_比较数组, , , "0" .局部变量 i .局部变量 j .局部变量 局_临时, 整数型 局_比较数组 = { 12, 34, 73, 23, 733, 3456, -46, 11, 67, 35, 64 } .计次循环首 (取数组成员数 (局_比较数组), i) .变量循环首 (i + 1, 取数组成员数 (局_比较数组), 1, j) .如果真 (局_比较数组 [i] > 局_比较数组 [j]) 局_临时 = 局_比较数组 [i] 局_比较数组 [i] = 局_比较数组 [j] 局_比较数组 [j] = 局_临时 .如果真结束 .变量循环尾 () .计次循环尾 () 调试输出 (局_比较数组) |
易本身也有冒泡算法的函数,就是数组排序这个函数,这个代码就很简单了
1
2
3
4
5
6
7
8
9
|
.版本 2 .支持库 spec .子程序 易语言_按照从小到大排序 .局部变量 局_比较数组, 整数型, , "0" 局_比较数组 = { 12, 34, 73, 23, 733, 3456, -46, 11, 67, 35, 64 } 数组排序 (局_比较数组, 真) 调试输出 (局_比较数组) |