Go语言程序:无需库函数合并两个整数数组


Go语言中的数组被定义为一种数据结构,用于在连续的内存位置存储元素。数组允许我们在恒定时间内搜索和存储元素。数组使用从0开始到n-1的索引存储元素,其中n是数组的长度。

我们将使用两种方法:第一种方法在程序的主体部分实现逻辑,第二种方法使用外部函数。

方法一:在主函数中使用for循环

这里,我们将使用for循环遍历数组,并将两个数组的每个元素复制到新数组中,然后在屏幕上打印最终数组。

算法

  • 步骤1 - 导入允许我们在屏幕上打印任何内容的fmt包。

  • 步骤2 - 现在调用main()函数。

  • 步骤3 - 初始化两个整数类型数组并向其中存储值。然后在屏幕上打印这两个数组。

  • 步骤4 - 将arr1的长度存储在一个名为j的变量中。

  • 步骤5 - 初始化第三个空数组,其长度是第一个和第二个整数类型数组长度的和。

  • 步骤6 - 然后我们使用for循环遍历第一个数组,并将所有值存储到arr3中。

  • 步骤7 - 同样,遍历第二个数组,并在arr1的值之后将它的值存储到arr3中。

  • 步骤8 - 为此,我们使用了变量j,并通过j的索引将值存储到arr3中。

  • 步骤9 - 到现在为止,我们已经得到了一个包含第一个和第二个数组元素的第三个数组。

  • 步骤10 - 使用fmt.Println()函数在屏幕上打印此数组。

示例

在这个例子中,我们将编写一个Go语言程序,使用main()函数部分的for循环来合并两个整数数组。

package main
import "fmt"
func main() {
   arr1 := [4]int{1, 2, 3, 4}
   fmt.Println("The first array entered is:", arr1)
   arr2 := [4]int{5, 6, 7, 8}
   var j int = len(arr1)
   var arr3 [8]int
   fmt.Println("The second array entered is:", arr2)
   for i := 0; i < len(arr1); i++ {
      arr3[i] = arr1[i]
   }
   for i := 0; i < len(arr2); i++ {
      arr3[j] = arr2[i]
      j = j + 1
   }
   fmt.Println("The final array obtained after merging the first two arrays is:", arr3)
}

输出

The first array entered is: [1 2 3 4]
The second array entered is: [5 6 7 8]
The final array obtained after merging the first two arrays is: [1 2 3 4 5 6 7 8]

方法二:使用外部用户自定义函数

我们将创建的函数将接受两个整数数组作为参数,并在合并两个数组后返回最终数组。

算法

  • 步骤1 - 导入允许我们在屏幕上打印任何内容的fmt包。

  • 步骤2 - 现在,创建一个名为mergeArrays()的函数来合并两个数组。此函数接受两个数组作为参数,并在合并它们后返回最终数组。

  • 步骤3 - 在此函数内部,将arr1的长度存储在一个名为j的变量中。然后初始化第三个空数组,其长度是第一个和第二个整数类型数组长度的和。

  • 步骤4 - 然后我们使用for循环遍历第一个数组,并将所有值存储到arr3中。

  • 步骤5 - 同样,遍历第二个数组,并在arr1的值之后将它的值存储到arr3中。

  • 步骤6 - 为此,我们使用了变量j,并通过j的索引将值存储到arr3中。

  • 步骤7 - 到现在为止,我们已经得到了一个包含第一个和第二个数组元素的第三个数组。

  • 步骤8 - 现在调用main()函数。在程序的main()部分,初始化两个整数类型数组并向其中存储值。然后在屏幕上打印这两个数组。

  • 步骤9 - 现在,通过将两个数组作为参数传递给mergeArrays()函数,并将获得的结果存储在一个名为result的单独变量中。

  • 步骤10 - 现在,使用fmt.Println()函数在屏幕上打印此result数组。

示例

在这个例子中,我们将使用一个外部用户自定义函数将给定的两个整数数组合并到第三个数组中。

package main
import "fmt"
func mergeArrays(arr1 [4]int, arr2 [4]int) [8]int {
   var arr3 [8]int
   var j int = len(arr1)
   for i := 0; i < len(arr1); i++ {
      arr3[i] = arr1[i]
   }
   for i := 0; i < len(arr2); i++ {
      arr3[j] = arr2[i]
      j = j + 1
   }
   return arr3
}
func main() {
   arr1 := [4]int{1, 2, 3, 4}
   fmt.Println("The first array entered is:", arr1)
   arr2 := [4]int{5, 6, 7, 8}
   fmt.Println("The second array entered is:", arr2)
   result := mergeArrays(arr1, arr2)
   fmt.Println("The final array obtained after merging the first two arrays is:", result)
}

输出

The first array entered is: [1 2 3 4]
The second array entered is: [5 6 7 8]
The final array obtained after merging the first two arrays is: [1 2 3 4 5 6 7 8]

结论

我们已经成功编译并执行了一个Go语言程序来合并两个数组,并附带示例。我们在第一个程序中使用for循环在程序的main()部分合并两个数组到第三个数组中,而在最后一个程序中,我们使用外部用户自定义函数来实现结果。

更新于:2023年2月16日

浏览量:566

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.