目录
1、选择排序
2、冒泡排序
3、GO 内置Sort包对切片排序
1.选择排序
//找最小放前面
var x = []int{9, 5, 6, 7, 8, 1}
for i := 0; i < len(x); i++ {
for j := i + 1; j < len(x); j++ {
if x[i] > x[j] {
temp := x[i]
x[i] = x[j]
x[j] = temp
}
}
}
fmt.Println(x) // [1 5 6 7 8 9]
2.冒泡排序
//从头到尾,比较相邻元素,符合条件,交换位置
var x = []int{9, 5, 6, 7, 8, 1}
for i := 0; i < len(x); i++ {
for j := 0; j < len(x)-1; j++ {
if x[j] > x[j+1] {
temp := x[j]
x[j] = x[j+1]
x[j+1] = temp
}
}
}
fmt.Println(x) // [1 5 6 7 8 9]
3.Sort包
//import "sort"
//升序排序
intList := []int{5, 6, 8, 4}
float8List := []float64{4.2, 3.2, 9.6, 8.8, 0.2, 15.2}
stringList := []string{"b", "a", "c"}
sort.Ints(intList)
sort.Float64s(float8List)
sort.Strings(stringList)
//降序排序,采用 sort.Reverse 来调换
//sort.Sort(sort.Reverse(sort.IntSlice(intList)))
//sort.Sort(sort.Reverse(sort.Float64Slice(float8List)))
//sort.Sort(sort.Reverse(sort.StringSlice(stringList)))
fmt.Println(intList) // [4 5 6 8]
fmt.Println(float8List) // [0.2 3.2 4.2 8.8 9.6 15.2]
fmt.Println(stringList) // [a b c]
网友评论