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 是字典的长度。
广告