Swift 陣列元素旋轉程式
在 Swift 中,我們建立一個使用者自定義函式來旋轉陣列的元素。在這個函式中,我們首先找到總旋轉次數,然後根據指定的旋轉次數旋轉陣列。
例如:
Array = [3, 5, 2, 1, 7, 9] Rotation = 2 Resultant Array = [2, 1, 7, 9, 3, 5]
演算法
步驟 1 - 建立一個函式,按指定的旋轉次數旋轉陣列的元素。
步驟 2 - 在函式內部,我們首先找到所需的旋轉次數。
步驟 3 - 然後使用陣列切片語法根據給定的旋轉次數旋轉陣列。
步驟 4 - 在函式外部建立一個數組。
步驟 5 - 現在呼叫上面建立的函式,並傳遞陣列和元素移動到的位置數。
步驟 6 - 列印輸出。
示例
在下面的 Swift 示例中,我們首先建立一個名為 rotateMyArray() 的函式,它接受兩個引數:陣列和陣列元素需要移動的總位置數。現在,在函式內部,我們首先找到所需的旋轉次數,然後使用陣列切片旋轉陣列的元素。現在我們建立一個數組 [3, 7, 1, 9, 3, 8, 4] 並使用 rotateMyArray() 函式將其旋轉 3 個位置。因此,結果陣列為 [9, 3, 8, 4, 3, 7, 1]。
import Foundation import Glibc // Function to rotate the elements of the given array func rotateMyArray(array: inout [Int], rotate: Int) { // Calculate the required number of rotations let mRotate = rotate % array.count // Rotating the array by the specified number of rotations array = Array(array[mRotate..<array.count] + array[0..<mRotate]) } var myArray = [3, 7, 1, 9, 3, 8, 4] print("Original Array:", myArray) rotateMyArray(array: &myArray, rotate: 3) print("Modified Array:", myArray)
輸出
Original Array: [3, 7, 1, 9, 3, 8, 4] Modified Array: [9, 3, 8, 4, 3, 7, 1]
結論
這就是我們如何旋轉陣列元素的方法。這裡我們在函式中使用 inout 引數。inout 關鍵字用於將引數作為引用傳遞給函式,這意味著如果引數發生任何更改,都會反映在原始引數中。
廣告