五种排序算法整理 二(堆排序,快速排序插入排序选择排序冒泡排序)

Posted kongbursi-2292702937

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五种排序算法整理 二(堆排序,快速排序插入排序选择排序冒泡排序)相关的知识,希望对你有一定的参考价值。

一、快速排序算法步骤:

1. 在数组中选一个基准数(通常为数组第一个);

2. 将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边;

3. 对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素,即为全部有序。

 

实例演示

1、将第一个元素49设置为基准,low=0,high=7。

因为49不小于49,所以不换位置,high--。

技术图片

 

 2、27小于49,所以27和49互换位置(图上没有显示出来,但这并不影响)low++

技术图片

 

 3、我们再从基准49的位置和low对应的38比较,发现38小于49,所以不交换。low++,再和low对应的65比较,49小于65,互换位置,high++

技术图片

 

 4、49再与high对应的13比较,13小于49.所以互换位置

技术图片

以上是关于五种排序算法整理 二(堆排序,快速排序插入排序选择排序冒泡排序)的主要内容,如果未能解决你的问题,请参考以下文章

java常用排序算法

八大经典排序算法

常见排序算法的实现(归并排序快速排序堆排序选择排序插入排序希尔排序)

Python八大算法的实现,插入排序希尔排序冒泡排序快速排序直接选择排序堆排序归并排序基数排序。

插入排序(直接插入排序希尔排序);交换排序(冒泡排序快速排序);选择排序(简单选择排序堆排序);归并排序和基数排序;基于关键词比较的排序算法下界分析

排序算法总结