package main
import (
"fmt"
"os"
//router "goproject1/router"
)
func main() {
aa := []int{
5,8,7,6,7,5,1,2,3,8,79,11,2,55,77,99,66,32,48,4654,12,
}
fmt.Println(len(aa))
fmt.Println(SortSelect(aa))
}
//冒泡排序
func SortInt(aa []int)[]int{
var tmp int
for i:=0;i<len(aa)-1;i++{
for k:=0;k<len(aa)-1-i;k++{
if(aa[k] > aa[k+1]){
tmp = aa[k+1]
aa[k+1] = aa[k]
aa[k] = tmp
}
}
}
return aa;
}
//快速排序
func SortIntQuick(aa []int) []int {
if(len(aa)>1){
middle := aa[0]
left := []int{}
right := []int{}
for i:=1;i<len(aa);i++ {
if(aa[i]<=middle){
left = append(left, aa[i])
}else {
right = append(right,aa[i])
}
}
leftList := SortIntQuick(left)
rightList := SortIntQuick(right)
leftList =append(leftList,middle)
return append(leftList,rightList...)
}else {
return aa
}
}
//选择排序
func SortSelect(aa []int) []int {
var minIndex int
for i:=0;i<len(aa)-1;i++{
minIndex = i
for k:=i+1;k<len(aa);k++{
if(aa[k] < aa[minIndex]) { // 寻找最小的数
minIndex = k; // 将最小数的索引保存
}
}
temp := aa[i]
aa[i] = aa[minIndex]
aa[minIndex] = temp
}
return aa
}
09-24
3138
10-09
1048