//x數組,i:x數組的起始下標
y數組,j:y數組的起始下標 //說明:x和y數組都是有序的數組 func merge(x []int, i int, y []int, j int) []int { xlen := len(x)//x數組的長度 ylen := len(y)//y數組的長度 z := make([]int, xlen+ylen)//建立一個大小爲xlen+ylen的數組切片 k := 0//數組切片z的下標 for i if x[i] < y[j] {//把小數放在數組切片z裏 z[k] = x[i] i++ } else { z[k] = y[j] j++ } k++ } for i != xlen {//把x到xlen-1的數據也存入z中 z[k] = x[i] k++ i++ } for j != ylen { z[k] = y[j] k++ j++ } return z }