Swift 程式設計,反轉一個集合


在 Swift 中,集合是僅包含唯一值的無序集合。正如我們所知,集合是一種無序集合,所以沒有直接的方法(比如陣列)來反轉集合中的元素。但是,你可以透過將集合轉換成陣列,然後應用 reversed() 方法或任何使用者自定義函式來反轉集合。然後將結果轉換回集合。讓我們透過示例討論此方法。

示例 1

在以下示例中,我們將有一個字串型別的集合。現在,我們將它轉換成陣列來反轉元素,然後應用 reversed() 函式,然後將最終結果轉換回集合並顯示輸出。

import Foundation
import Glibc

var myFavcolor : Set = ["Blue", "Pink", "Yellow", "Sky blue", "Red"]

// Converting set into array
var arr = Array(myFavcolor)

// Reverse the set using reversed() function
var revArr = arr.reversed()

// Convert the result back into the set
var resultantSet = Set(revArr)

print("Reversed Set is", resultantSet)

輸出

Reversed Set is ["Pink", "Yellow", "Red", "Sky blue", "Blue"]

示例 2

在以下示例中,我們將有一個整數型別的集合。現在,我們首先使用 Array() 初始化器將集合轉換成陣列。然後反轉陣列的順序,然後使用 Set() 初始化器/建構函式將結果陣列轉換回集合。

import Foundation
import Glibc

var myFavNum: Set<Int> = [12, 98, 34, 1, 34, 22, 67]

// Converting set into array
var myArr = Array(myFavNum)

let sizze = myArr.count

// Reverse the set
for i in 0..<sizze/2 {
   let j = sizze - i - 1
   let t = myArr[i]
   myArr[i] = myArr[j]
   myArr[j] = t
}

// Convert the result back into the set
let revSet = Set(myArr)

print(revSet)

輸出

[12, 34, 98, 22, 67, 1]

總結

所以這就是我們如何反轉一個集合。在上述討論的示例中,集合中元素的順序是任意的,因此反轉集合的順序不一定與原始集合相同。

更新日期: 2023 年 4 月 24 日

182 次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.