go语言基础之切片做函数参数

1、切片做函数参数 (备注:用了冒泡排序)

示例:

package main //必须有个main包

import "fmt"
import "math/rand"
import "time"

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

	//创建一个切片,len为n
	s := make([]int, n)

	InitData(s) //初始化数组
	fmt.Println("排序前: ", s)

	BubbleSort(s) //冒泡排序
	fmt.Println("排序后: ", s)
}

执行结果:

排序前:  [91 20 62 5 47 51 97 54 72 18]
排序后:  [5 18 20 47 51 54 62 72 91 97]

  

posted @ 2019-01-09 15:07  努力哥  阅读(1036)  评论(0编辑  收藏  举报