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