编程码拉松快速排序
Posted 神犇营
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程码拉松快速排序相关的知识,希望对你有一定的参考价值。
点击蓝字关注码猿编程
快速排序
快速排序,也是大部分编程语言内置的排序算法,实践中运用极为广泛,而且排序速度远快于选择排序和冒泡排序。下面以数{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个位置的元素。
学编程·找码猿
点击左下角“阅读原文”
免费预约体验课
以上是关于编程码拉松快速排序的主要内容,如果未能解决你的问题,请参考以下文章