Go 语言实现冒泡、选择、插入排序
这两天又重新看了看数据结构,重温了一下排序算法,于是先写了这三种经典的排序算法
//冒泡排序
func BubbleSort(array []int) {
l:=len(array)
isChange:=true
var i,j int
for i=0; i<l-1 &&isChange; i++ {
isChange=false
for j=1; j<l; j++{
if array[j]<array[j-1] {
array[j],array[j-1] = array[j-1],array[j]
isChange=true
}
}
}
}
//选择排序
func SelectionSort(array []int) {
l:=len(array)
var min int
var i,j int
for i=0; i<l; i++ {
min = i
for j=i; j<l; j++ {
if array[j]<array[min] {
min = j
}
}
if min != i{
array[i],array[min] = array[min],array[i]
}
}
}
//插入排序
func InsertionSort(array []int) {
l:=len(array)
var i,j int
for i=1; i<l; i++ {
t:=array[i]
for j=i; j>0; j-- {
if t<array[j-1] {
array[j] = array[j-1]
}else {
break
}
}
array[j] = t
}
}