您的位置:首页 > 其它

【排序算法】之快速排序

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实现

这里写代码片
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: