package main //要求:隨機生成5個元素的數組,並使用冒泡排序對其排序 從小到大 //思路分析: //隨機數用math/rand生成爲了更好的保證其不會重複 使用 rand.New(rand.NewSource(time.Now().UnixNano()))並定義一個隨機生成函數 //用冒泡排序對其排序 import ( //"math/rand" //"time" "fmt" "math/rand" "time" ) var arrnum [5]int = [5]int{109,137,49,190,87} //定義冒泡函數 //重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,若是他們的順序(如從大到小、首字母從A到Z) // 錯誤就把他們交換過來。走訪元素的工做是重複地進行直到沒有相鄰元素須要交換,也就是說該元素已經排序完成 func BubbleSort( arrary *[5]int){ //第一次比較 fmt.Println("排序前arr=",(*arrary)) tmp :=0 for j := 0 ; j <len(arrary)-1 ;j++{ for i :=0;i <len(arrary)-1-j ;i++ { if arrary[i] > arrary[i+1]{ tmp = arrary[i] arrary[i] = arrary[i+1] arrary[i+1] = tmp } } } fmt.Println("排序後arr=",(*arrary)) } var Arrname [5]int func main() { r := rand.New(rand.NewSource(time.Now().UnixNano()))//生成隨機數字 for i := 0; i < len(Arrname) ; i++ { Arrname[i] = r.Intn(20000) //指定生成隨機數的範圍 } BubbleSort(&Arrname) }