Golang程序 合并两个整数数组而不使用库函数
在go语言中,数组被定义为用于在连续的内存位置存储元素的数据结构。数组允许我们在恒定的时间内搜索和存储元素。数组使用索引来存储元素,从0开始一直到n-1,其中n是数组的长度。
这里我们将使用两种方法,在第一种方法中,我们将在程序的主部分实现逻辑,而在第二种方法中,我们将使用一个外部函数。
方法1:在主程序中使用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()函数在屏幕上打印这个数组。
例子
在这个例子中,我们将编写一个golang程序,在程序的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]
方法2:使用一个外部用户定义的函数
我们创建的函数将接受两个整数数组作为参数,并将返回合并后的最终数组。
算法
- 第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()函数在屏幕上打印这个数组的结果。
例子
在这个例子中,我们将使用一个外部用户定义的函数,将两个给定的整数数组合并到第三个数组中。
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语言程序来合并两个数组,并附有实例。我们在这里使用了两个程序,在第一个程序中,我们在程序的main()部分使用for循环来合并第三个程序中的两个数组,而在最后一个程序中,我们使用一个外部用户定义函数来实现这个结果。