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()来执行逻辑,并在每个步骤后打印数组。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程