Go语言程序循环排列数组元素


循环意味着在每个循环中,我们希望将数组元素移动一个位置,直到我们再次获得原始数组。循环排列可用于各种矩阵操作和线性代数运算。在本文中,我们将了解使用 Go 编程语言循环排列数组元素的不同示例。

语法

func append(slice, element_1, element_2…, element_N) []T

append 函数用于向数组切片添加值。它接受多个参数。第一个参数是要添加值的数组,后跟要添加的值。然后,该函数返回包含所有值的数组的最终切片。

func make ([] type, size, capacity)

Go 语言中的 make 函数用于创建数组/映射,它接受要创建的变量的类型、其大小和容量作为参数,并返回可以存储在变量中的切片。

算法

  • 步骤 1 - 首先,我们需要导入 fmt 包。

  • 步骤 2 - 然后开始 main() 函数。在此函数中,使用 make() 函数初始化一个整数数组,并使用 append() 函数向其中添加值。

  • 步骤 3 - 声明一个名为 n 的新变量,并将数组的长度存储到其中。此外,在屏幕上打印数组。

  • 步骤 4 - 使用 for 循环遍历数组,并将数组元素向左移动一个位置,并打印由此形成的新数组。

  • 步骤 5 - 在每一步打印新数组,直到整个数组循环移动。

示例 1

在此示例中,我们将使用 for 循环以循环方式排列数组的元素。我们将使用 for 循环遍历数组,并在每一步将数组元素向左移动一个位置。

package main
import "fmt"
func main() {
   // initializing an array
   arr := make([]int, 0, 5)
   arr = append(arr, 1, 2, 3, 4, 5)
   n := len(arr)
   fmt.Println("The given array is: ", arr)
   for i := 0; i < n; i++ {
      last := arr[n-1]
      for j := n - 1; j > 0; j-- {
         arr[j] = arr[j-1]
      }
      arr[0] = last
      fmt.Println("Permuted Array: ", arr)
   }
}

输出

The given array is:  [1 2 3 4 5]
Permuted Array:  [5 1 2 3 4]
Permuted Array:  [4 5 1 2 3]
Permuted Array:  [3 4 5 1 2]
Permuted Array:  [2 3 4 5 1]
Permuted Array:  [1 2 3 4 5]

示例 2

在此示例中,我们将使用 Go 编程语言的内部 append() 函数循环排列数组的元素,直到我们再次获得原始数组。

package main
import "fmt"
func main() {
   // initializing an array
   arr := make([]int, 0, 5)
   arr = append(arr, 1, 2, 3, 4, 5)
   n := len(arr)
   fmt.Println("Original Array: ", arr)
   for i := 0; i < n; i++ {
      arr = append(arr[1:], arr[0])
      fmt.Println("Permuted Array: ", arr)
   }
}

输出

Original Array:  [1 2 3 4 5]
Permuted Array:  [2 3 4 5 1]
Permuted Array:  [3 4 5 1 2]
Permuted Array:  [4 5 1 2 3]
Permuted Array:  [5 1 2 3 4]
Permuted Array:  [1 2 3 4 5]

结论

我们已成功编译并执行了一个 Go 语言程序来循环排列数组的元素。这里我们使用了两个程序。在第一个程序中,我们使用 for 循环将数组元素移动一个位置,直到我们再次获得原始数组,而在第二个程序中,我们使用内部函数 append() 来执行逻辑并在每一步打印数组。

更新于: 2023年2月16日

113 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.