slice类型排序实现(选择排序)
func SortSlice(s []int) (se []int) {
for i:=0;i<len(s)-1;i++{
for j:=i+1;j<len(s);j++{
if s[i] < s[j]{
s[i], s[j] = s[j], s[i]
}
}
}
se = s
return
}
map类型排序实现(选择排序)
func SortMap(m map[string]int){
var s []string
for key := range m{
s = append(s, key)
}
for i:=0;i<len(s)-1;i++{
for j:=i+1;j<len(s)-1;j++{
if m[s[i]] < m[s[j]]{
s[i], s[j] = s[j], s[i]
}
}
}
for _,k:=range s{
fmt.Println(m[k])
}
}
func insertSort(list []int) []int {
for i:=1;i<len(list)-1;i++{
value := list[i]
q:= i-1
for j:=q; j>=0;j--{
if list[j] > value{
list[j+1] = list[j]
}else {
break
}
}
list[q+1] = value
}
return list
}
func bubbleSort(list []int) []int {
var(
ok bool
)
for i:=0;i<len(list);i++{
ok = false
for i:=0;i<len(list)-1;i++{
if list[i] > list[i+1]{
list[i], list[i+1] = list[i+1], list[i]
ok = true
}
}
if !ok{
break
}
}
return list
}