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 关键字用于将参数作为引用传递给函数,这意味着如果参数发生任何更改,都会反映在原始参数中。

更新于:2023年4月24日

640 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告