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) }
有疑问加站长微信联系(非本文作者)