golang_算法: leetcode_排序与搜索01-合并两个有序数组

package main

import (
	"fmt"
)

func merge(nums1 []int, m int, nums2 []int, n int)  {
	fmt.Println("nums1 =",nums1)
	fmt.Println("nums2 =",nums2)
	if m == 0 {
		copy(nums1,nums2)
	}
	if n == 0 {
		return
	}
	copy(nums1[m:],nums2)
	for i := 0; i < m+n; i++ {
		for j := 0; j < m+n-i-1; j++ {
			if nums1[j] > nums1[j+1] {
				nums1[j], nums1[j+1] = nums1[j+1], nums1[j]
			}
		}
	}
	fmt.Println("nums1 =",nums1)
}

//声明初始变量遇到问题,只能声明切片,
func main() {
	m := 6
	a := []int{1,2,3}
	n := 3
	b := []int{2,5,6}

	merge(a,m,b,n)
}

merge函数里没有问题,可是在main函数中的声明出现问题。

你可能感兴趣的:(algorithm)