## 步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 ## 实现 ### php ``` function setSort($arr) { $len = count($arr); //需要冒泡的轮数 for ($i = 0; $i < $len; $i++) { //冒出一个数需要比较的次数 for ($k = 0; $k < $len-$i; $k ++) { if (($arr[$k] > $arr[$k+1]) && isset($arr[$k+1])) { //换位 [$arr[$k+1], $arr[$k]] = [$arr[$k], $arr[$k+1]]; } } } return $arr; } $arr=[1,6,5,7,8,9,3,2,4]; setSort($arr); ``` ### go ``` func setSort(list []int) []int{ len := len(list) for i := 0; i < len; i++ { for j := 0; j < len-1-i; j++ { if list[j] > list[j+1] { list[j],list[j+1] = list[j+1], list[j] } } } return list } ```