使用 for 循环编写一个 Go 程序来反转数组。此示例使用 for 循环(for i = actsize – 1; i >= 0; i–)反转数组,该循环从最后一个数组项迭代到第一个元素。在 for 循环(revArr[j] = actArr[i])中,我们将每个项分配给 revArr 并递增 revArr 索引值。
package main
import "fmt"
func main() {
var actsize, i, j int
fmt.Print("Enter the Even Array Size = ")
fmt.Scan(&actsize)
actArr := make([]int, actsize)
revArr := make([]int, actsize)
fmt.Print("Enter the Even Array Items = ")
for i = 0; i < actsize; i++ {
fmt.Scan(&actArr[i])
}
j = 0
for i = actsize - 1; i >= 0; i-- {
revArr[j] = actArr[i]
j++
}
fmt.Println("\nThe Result of a Reverse Array = ", revArr)
}
Enter the Even Array Size = 3
Enter the Even Array Items = 10 20 30
The Result of a Reverse Array = [30 20 10]
Go 程序使用函数反转数组项
package main
import "fmt"
func reverseArray(actArr []int, actsize int) {
revArr := make([]int, actsize)
j := 0
for i := actsize - 1; i >= 0; i-- {
revArr[j] = actArr[i]
j++
}
fmt.Println("\nThe Result of a Reverse Array = ", revArr)
}
func main() {
var actsize, i int
fmt.Print("Enter the Even Array Size = ")
fmt.Scan(&actsize)
actArr := make([]int, actsize)
fmt.Print("Enter the Even Array Items = ")
for i = 0; i < actsize; i++ {
fmt.Scan(&actArr[i])
}
reverseArray(actArr, actsize)
}
Enter the Even Array Size = 5
Enter the Even Array Items = 25 55 75 95 125
The Result of a Reverse Array = [125 95 75 55 25]
在此 程序 中,我们创建了一个递归函数(func reverseArray(actArr, start, end))来反转给定的数组。
package main
import "fmt"
func reverseArray(actArr []int, start int, end int) {
var temp int
if start < end {
temp = actArr[start]
actArr[start] = actArr[end]
actArr[end] = temp
reverseArray(actArr, start+1, end-1)
}
}
func main() {
var actsize, i int
fmt.Print("Enter the Even Array Size = ")
fmt.Scan(&actsize)
actArr := make([]int, actsize)
fmt.Print("Enter the Even Array Items = ")
for i = 0; i < actsize; i++ {
fmt.Scan(&actArr[i])
}
reverseArray(actArr, 0, actsize-1)
fmt.Println("\nThe Result of a Reverse Array = ", actArr)
}
