📌  相关文章
📜  Golang中将所有零移到数组末尾的程序(1)

📅  最后修改于: 2023-12-03 15:15:23.774000             🧑  作者: Mango

Golang中将所有零移到数组末尾的程序

在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 作为输入,并返回一个移动零到数组末尾后的新数组。

程序中使用了两个指针 indexnumindex 记录非零元素应该放置的位置,num 用于遍历输入数组。

程序首先遍历输入数组,将非零元素放置在指定的位置,并更新 index 的值。然后在第二个循环中,将剩余的位置填充为零。

最后,程序使用 fmt.Println 函数打印移动零到数组末尾后的新数组。

运行程序

要运行上述程序,你需要在环境中安装Golang并设置好相应的配置。然后,将上述代码保存到一个名为 main.go 的文件中,并在终端中执行以下命令:

go run main.go

输出结果应该为:

[1 3 12 0 0]

这表示程序成功地将所有的零移动到了数组的末尾。

希望这个程序能对你有所帮助!请在需要时随时使用。