微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift 闭包排序算法

闭包表达式是一种利用简洁的语法构建内敛的闭包的方式。闭包表达式提供了一些语法优化,使得撰写闭包变得简单明了。sort(_:)方法定义和语法优化的方式。每一次迭代都使用简洁的方式描述了相同的功能。

Swift标准库提供了名为sort的方法,会根据您提供的用于排序的闭包函数将已知类型数组中的值进行排序。一旦排序完成,sort(_:)方法会返回一个与原数组大小相同,包含同类型元素已正确排序的新数组。原数组不会被修改。

使用sort方法一个String类型的数组进行字母逆序排序。下面是初始值:
let names = ["Chirs","Alex","Ewa","Barry","Daniella"]

sort(_:)方法接受一个闭包,该闭包函数需要传入与数组元素类型相同的两个值,并返回一个布尔类型值来表明当排序结束后传入的第一个参数排在第二个参数前面还是后面。如果第一个参数值出现在第二个参数值前面,排序闭包函数需要返回true,反之返回false 

//: Playground - noun: a place where people can play

import UIKit

var str = "Hello,playground"


let names = ["Chirs","Daniella"]

func backwards(s1: String,s2: String) ->Bool {
    
    return s1 > s2
}

var reversed = names.sort(backwards)

如果第一个字符串(s1)大于第二个字符串(s2)backwards(_:_:)函数返回true,表示在新的数组中s1应该出现在s2前。对于字符串的字符来说,“大于”表示“按照字母顺序较晚出现”.这意味着字母“B”大于字母“A”.字符串“Tom”大于字符串“Tim”.该闭包将进行字母排序,“Barry”将会排在“Alex”之前。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐