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.