定义:冒泡排序是最简单的排序算法,通过以错误顺序重复交换相邻元素来工作。
输入arr = [7、5、1、6、3]
第一次迭代=> swap(7,5)=> swap(7,1)=> swap(7,6)=> swap(7,3)=> [5,1,6,3,7]
第2次迭代=> [ 1、5、3、6、7 ]
第3次迭代=> [ 1、3、5、6、7 ]
第4次迭代=> [1、3、5、6、7]
第5次迭代=> [1、3、5、6、7]
步骤1:将数组从第0个索引迭代到n-1。
步骤2:将数组从第0个索引迭代到n-1-i,其中i是上述循环的索引。
步骤3:交换最高元素在数组的起始位置,否则离开。
步骤3:最后,返回数组。
时间复杂度: O(n 2)
package main import "fmt" func bubbleSort(arr []int) []int{ for i:=0; i<=len(arr)-1; i++{ for j:=0; j<len(arr)-1-i; j++{ if arr[j]> arr[j+1]{ arr[j], arr[j+1] = arr[j+1], arr[j] } } } return arr }输出结果
[0 1 2 5 6] [2 3 4 5 6] [1 2 3 4 5]