加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift 闭包排序算法

发布时间:2020-12-14 07:19:56 所属栏目:百科 来源:网络整理
导读:闭包表达式是一种利用简洁的语法构建内敛的闭包的方式。闭包表达式提供了一些语法优化,使得撰写闭包变得简单明了。sort(_:)方法定义和语法优化的方式。每一次迭代都使用简洁的方式描述了相同的功能。Swift标准库提供了名为sort的方法,会根据您提供的用于排
闭包表达式是一种利用简洁的语法构建内敛的闭包的方式。闭包表达式提供了一些语法优化,使得撰写闭包变得简单明了。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”之前。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读