• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >swift > Swift实现快速排序算法的代码示例

Swift实现快速排序算法的代码示例

作者:梁同桌 字体:[增加 减小] 来源:互联网 时间:2017-05-28

梁同桌 通过本文主要向大家介绍了swift算法,swift代码,中国银行swift代码,swift代码查询,swift代码是什么意思等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

思想

快速排序作为分治代表,通常实现由三步

1.数据中选择一个元素作为”基准”(pivot),通常选取最后一个元素;
2.分区(partition) 所有小于”基准”的元素,都移到”基准”的左边;所有大于”基准”的元素,都移到”基准”的右边。分区操作结束后,基准元素所处的位置就是最终排序后它的位置。
3.对“基准”左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。

实现:

func quickSort(inout a: [Int], l: Int, r: Int) {

 if l < r {
 var i = l,
  j = r,
  x = a[i]
 while i < j && a[j] >= x {
  j -= 1
 }
 if i < j {
  a[i] = a[j]
  i += 1
 }
 while i < j && a[i] < x {
  i += 1
 }
 if i < j {
  a[j] = a[i]
  j -= 1
 }

 a[i] = x

 quickSort( & a, l: l, r: i - 1)
 quickSort( & a, l: i + 1, r: r)
 }


}

var b = [8, 7, 6, 5, 4, 3, 2, 1]

quickSort( & b, l: 0, r: 7)

print(b) 

           </div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Swift算法之二叉树实现的方法示例
  • Swift算法实现字符串转数字的方法示例
  • Swift算法实现逐字翻转字符串的方法示例
  • 简单理解插入排序算法及Swift版的代码示例
  • 快速排序算法在Swift编程中的几种代码实现示例
  • Swift实现快速排序算法的代码示例
  • Swift代码实现冒泡排序算法的简单实例

相关文章

  • 2017-05-28Swift中switch语句区间和元组模式匹配
  • 2017-05-28使用Swift实现iOScollectionView广告无限滚动效果(DEMO)
  • 2017-05-22Swift 扩展
  • 2017-05-28微信开发--自定义菜单查询返码乱码的解决方法
  • 2017-05-28Swift中使用可选类型完美解决占位问题
  • 2017-05-28Swift心得笔记之控制流
  • 2017-05-28超全面的Swift编码规范(推荐)
  • 2017-05-28Swift学习笔记之构造器重载
  • 2017-05-28ssm框架上传图片保存到本地和数据库示例
  • 2017-05-28Hibernate三种状态和Session常用的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详解Swift中的函数及函数闭包使用
    • 史上最简单的MyBatis动态SQL入门示例代码
    • Swift 环境搭建
    • MyBatis中的模糊查询语句
    • 分隔List集合,按指定大小,将集合分成多个的方法
    • Swift中的Access Control权限控制介绍
    • 如何设计一个秒杀系统
    • List调用toString()方法后,去除两头的中括号实例
    • Swift能代替Objective-C吗?
    • 快速排序算法在Swift编程中的几种代码实现示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有