搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 神犇营 > 【编程码拉松】快速排序

【编程码拉松】快速排序

神犇营 2019-11-08

点击蓝字关注码猿编程

快速排序

快速排序,也是大部分编程语言内置的排序算法,实践中运用极为广泛,而且排序速度远快于选择排序和冒泡排序。下面以数{5.4.2.8.9.7.3}顺序排列为例。


快速排序首先挑选数列的第1个元素,然后将比它小的数字放到左边,比它大的数字放到右边: {4,2,3,5,8,9,7}。数字5把数列分成两部分,然后使用分治策略对左右两部分执行相同的算法,最后即可得到有序的数列。先看如何实现左右划分。


 使用变量key记录第一个元素的值, 再用变量i指向列表最左侧,变量j指向最右侧。让变量i向左移动,直到遇到小于key的元素,让变量i向右移动,直到遇到大于key的元素,只要1仍在i的前方,交换j对应元素团可。重复以上过程直到i和i相遇,此位置的元素必定小于key, 交换最左边位置和第1个位置的元素。

学编程·找码猿

点击左下角“阅读原文

免费预约体验课


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《【编程码拉松】快速排序》的版权归原作者「神犇营」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注神犇营微信公众号

神犇营微信公众号:shenben_club

神犇营

手机扫描上方二维码即可关注神犇营微信公众号

神犇营最新文章

精品公众号随机推荐