Swift 程式:按值對字典排序


Swift 支援一個 `sorted()` 方法來對給定字典中的所有元素進行排序。此方法根據字典的鍵值對的值對鍵值對進行排序。

語法

func sorted(by:)

這裡,`by` 引數的值為:

  • 大於(>) - 將元素按降序排序。

  • 小於(<) - 將元素按升序排序。

  • 閉包 - 根據給定的閉包對元素進行排序。

演算法

  • 步驟 1 - 建立一個帶有鍵值對的字典。

  • 步驟 2 - 顯示原始字典。

  • 步驟 3 - 現在使用 `sorted()` 函式根據其值對鍵值對進行排序。

  • 步驟 4 - 顯示最終輸出。

示例

在下面的 Swift 程式中,我們將按值對字典進行排序。因此,我們將建立一個字典。然後將此閉包(`{ $0.value < $1.value }`)傳遞給 `sorted(by:)` 函式,以根據值對字典的元素進行排序並顯示最終結果。這裡 `$0` 和 `$1` 分別表示傳遞給閉包的第一個和第二個引數。

import Foundation
import Glibc

let myDict = ["name": "Sona", "company": "MOKA.PVT", "city": "New Delhi"]

print("Original dictionary:", myDict)

let Sdict = myDict.sorted(by: { $0.value < $1.value })

print("Sorted dictionary:", Sdict)

輸出

Original dictionary: ["name": "Sona", "company": "MOKA.PVT", "city": "New Delhi"]
Sorted dictionary: [(key: "company", value: "MOKA.PVT"), (key: "city", value: "New Delhi"), (key: "name", value: "Sona")]

結論

這就是我們如何按值對字典進行排序。`sorted()` 方法返回準確的結果。此外,它不會修改原始字典,而是建立一個包含結果的新字典。`sorted(by:)` 方法的複雜度為 O(n log n),其中 n 是字典的長度。

更新於: 2023年5月9日

663 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告