package main import "fmt" func main() { a :=[8]int{24,69,80,57,13,1,100} //算出a的长度 //n :=len(a) //0 1 2 3 //冒泡排序 /*for i:=0;i<5-1;i++ { for j:=0;j<5-1-i;j++{ if a[j] > a[j+1]{ a[j],a[j+1] = a[j+1],a[j] } } } fmt.Printf(" 培训后: ") for i:=0;i< 5;i++{ fmt.Printf("%d ",a[i]) } fmt.Println()*/ //升序 /* n := len(a) for i:=0;i<n-1;i++ { for j:=0;j<n-1-i;j++{ if a[j] > a[j+1]{ a[j],a[j+1] = a[j+1],a[j] } } }*/ //降序 n := len(a) for i:=0;i<n-1;i++ { for j:=0;j<n-1-i;j++{ if a[j] < a[j+1]{ a[j],a[j+1] = a[j+1],a[j] } } } fmt.Printf(" 排序后: ") for i:=0;i< n;i++{ fmt.Printf("%d ",a[i]) } fmt.Println() }
package main import ( "math/rand" "time" "fmt" ) func InitData(s []int) { //设置种子 rand.Seed(time.Now().UnixNano()) for i:=0;i< len(s);i++{ s[i]= rand.Intn(100) //100 以内的值 } } //冒泡排序 func BubbleSort(s []int) { n :=len(s) for i:=0;i<n-1;i++{ for j:=0;j<n-1-i;j++{ if s[j] > s[j+1]{ s[j],s[j+1] = s[j+1],s[j] } } } } func main() { n := 10 //创建切片 s :=make([]int,n) InitData(s) fmt.Println("排序前",s) BubbleSort(s) fmt.Println("排序后",s) }