【排序算法】之快速排序
2017-02-16 19:12
274 查看
0.本文目录
本文目录基本思想
伪代码
Java实现
1.基本思想
快速排序工作机制如下:该算法在数组中选择一个主元(pivot)的元素,将数组分为两部分, 使得第一部分中的所有元素都小于或等于主元, 而第二部分中的所有元素都大于主元。对第一部分递归地应用快速排序算法,然后对第二部分递归地应用快速排序算法。
简单说就是 三步走:
1、选取主元
2、将数组分割为左右两部分
3、递归左右数组进行排序
2.伪代码
Quick Sort Algorithm
public static void quicksort(int[] list){ if(list.length > 1){ //选择一个主元 select a pivot; //首先,进行一次排序, 使得 //主元左边部分的元素都 <= 主元 //主元右边的元素 > 主元 partition list into list1 and list2 such that all elements in list1 <= pivot all elements in list2 > pivot; //分别对左右两边的元素进行递归排序 quicksort(list1); quicksort(list2); } }
一般选择数组第一个元素 或者 位于初始数组中间位置的元素
3.Java实现
这里写代码片
相关文章推荐
- 经典排序算法(一)--冒泡排序、快速排序java实现
- 排序算法——快速排序
- Java实现排序算法——快速排序
- 排序算法之快速排序-Java-version
- 常用排序算法--合并排序和快速排序
- 排序算法原理及其Java代码(快速排序、冒泡排序、直接插入排序、简单选择排序)
- 学习排序算法6--快速排序
- c语言中的几种排序算法——冒泡排序、快速排序、插入排序、选择排序
- 常用排序算法实现[交换排序之冒泡排序、快速排序]
- 排序算法:快速排序
- 排序算法——桶排序、冒泡排序、快速排序、选择排序
- 16 - 12 - 19 十大排序算法总结(四) 之 快速排序
- 排序算法(三)快速排序
- C++ ------------排序算法(冒泡排序-快速排序-选择排序-插入排序-希尔排序)
- [C++]数据结构:排序算法Part2----快速排序、归并排序、箱子排序、基数排序
- 排序算法java 一 --快速排序、直接插入、希尔排序
- PHP四种基础排序算法--冒泡,直接插入,快速和选择排序
- 排序算法 - 快速插入排序和希尔排序
- 排序算法之快速选择排序
- PHP常用排序算法 冒泡排序 快速排序 插入排序