算法描述:
冒泡算法,数组中前一个元素和后一个元素进行比较如果大于或者小于前者就进行交换,最终返回最大或者最小都冒到数组的最后序列时间复杂度为O(n^2) 。
算法步骤:
- 从数组开头选择两个元素进行比较,之后进行交换。
- 向后位移,直到处理完毕。
代码如下:
package main
func BubbleSort(ary []int) []int {
for i := 0; i < len(ary); i++ {
for j := i + 1; j < len(ary); j++ {
if ary[i] > ary[j] {
ary[j], ary[i] = ary[i], ary[j]
}
}
}
return ary
}
func BubbleGetMax(ary []int) int {
for i := 1; i < len(ary); i++ {
if ary[i-1] > ary[i] {
ary[i-1], ary[i] = ary[i], ary[i-1]
}
}
return ary[len(ary)-1]
}
上述代码中还有获取最大值方法。