Golang 将数组的元素循环移位

Golang 将数组的元素循环移位

循环意味着在每个循环中,我们希望将数组元素移动一个位置,直到再次得到原始数组。循环置换在各种矩阵操作和线性代数运算中都很有用。在本文中,我们将看到使用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()来执行逻辑并在每一步之后打印数组。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程