2018-02-24 [swift日常实用func收集]排序

大家新年好,年也差不多过完了,需要继续通过写代码来消耗过年长的肥肉了。

年前将初级地图编辑chapter看完后,今天弱弱地看了接下来要攻克的中级地图编辑及loading&save游戏数据两个chapter。虽然年过完了,毕竟玩了将近十天没有工作,状态这些还有待恢复,跟着做了一点可视化操作的步骤后就暂时做不下去了,索性先搁置一下,将intermediate map tile的章节留到下周一开始攻克(计划五天完成临摹实操和做笔记),今天下午就看了看苹果的swift 4.1官网文档中的closure,发现一个很基础但也很实用的排序方法sorted(by: )

var names  = ["Alpha","Cinema","Bell","Zap"]

func backward(_ s1:String, _ s2:String)-> Bool {
    
    return s1 > s2

}

var reversedNames = names.sorted(by: backward)

backward方法的意义就在于将相邻的两个单元依据ASCII码的顺序进行字符比较,如果前者大于后者,则return true。其实就是降序排列。

所以reversedNames数组中的元素就是按照字母顺序倒序排列了。输出如下:


image.png

playground的好处就在于右边的output不仅可以看到输出了什么,还可以看到func被调用了几次,output中显示的是6 times,原因就在于此方法将原names数组中的4个元素一一成对进行了比对,这种比对效率还是很低的,如果元素少还好,如果元素多了,可能就要采用更高级的排序算法了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 初级排序算法 排序算法关注的主要是重新排列数组元素,其中每个元素都有一个主键。排序算法是将所有元素主键按某种方...
    深度沉迷学习阅读 1,501评论 0 1
  • 排序的基本概念 在计算机程序开发过程中,经常需要一组数据元素(或记录)按某个关键字进行排序,排序完成的序列可用于快...
    Jack921阅读 1,519评论 1 4
  • 数据结构与算法--排序之冒泡、选择、插入、希尔 我们关注的主要对象是重新排列数组元素的算法,每个元素都有一个主键,...
    sunhaiyu阅读 1,191评论 2 12
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139
  • 计算机在进行计算的时候都是利用二进制的补码来进行计算的。 源码: 正数的源码最高位是0,负数的最高位是1,其他的是...
    frankisbaby阅读 792评论 0 0