📅  最后修改于: 2023-12-03 15:15:23.774000             🧑  作者: Mango
在Golang中,有时候我们需要将数组中的所有零移动到数组的末尾。这个任务可以通过编写一个程序来完成。以下是一个使用Golang编写的移动零到数组末尾的程序:
package main
import "fmt"
func moveZerosToEnd(nums []int) []int {
index := 0
for _, num := range nums {
if num != 0 {
nums[index] = num
index++
}
}
for index < len(nums) {
nums[index] = 0
index++
}
return nums
}
func main() {
nums := []int{0, 1, 0, 3, 12}
movedNums := moveZerosToEnd(nums)
fmt.Println(movedNums) // 输出 [1 3 12 0 0]
}
moveZerosToEnd
函数接受一个整数数组 nums
作为输入,并返回一个移动零到数组末尾后的新数组。
程序中使用了两个指针 index
和 num
。index
记录非零元素应该放置的位置,num
用于遍历输入数组。
程序首先遍历输入数组,将非零元素放置在指定的位置,并更新 index
的值。然后在第二个循环中,将剩余的位置填充为零。
最后,程序使用 fmt.Println
函数打印移动零到数组末尾后的新数组。
要运行上述程序,你需要在环境中安装Golang并设置好相应的配置。然后,将上述代码保存到一个名为 main.go
的文件中,并在终端中执行以下命令:
go run main.go
输出结果应该为:
[1 3 12 0 0]
这表示程序成功地将所有的零移动到了数组的末尾。
希望这个程序能对你有所帮助!请在需要时随时使用。