作者:斌仔151 | 来源:互联网 | 2023-09-25 18:29
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 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)
}