Swift Algorithms 算法库发布
2020年10月7日,Swift发布了最新的算法库。该Algorithms软件包包括许多强大的通用算法,这些算法在其他流行的编程语言中也很常见。我们希望这个新软件包将帮助人们接受算法,提高代码的正确性和性能。
什么是算法
算法是思考的有力工具,因为它们封装了难以阅读且易于出错的原始循环。
快速导览
使用Algorithms程序包的一组初始序列和收集操作,您可以循环查看收集的元素,查找组合和排列,创建随机样本等。
一个包含项是一对chunked方法,每个方法将一个集合分解为连续的子序列。一个版本测试相邻元素以找到块之间的断点-您可以使用它来将数组快速分离为升序运行:
let numbers = [10, 20, 30, 10, 40, 40, 10, 20]
let chunks = numbers.chunked(by: { $0 <= $1 })
// [[10, 20, 30], [10, 40, 40], [10, 20]]
另一个版本在每个连续值的转换中寻找变化。您可以使用它通过第一个字符将名称列表分成组:
let names = ["Cassie", "Chloe", "Jasmine", "Jordan", "Taylor"]
let chunks = names.chunked(on: \.first)
// [["Cassie", "Chloe"], ["Jasmine",