【排序算法】之快速排序

来源:互联网 发布:黄瓜什么意思网络用语 编辑:程序博客网 时间:2024/06/06 20:07

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

这里写代码片
0 0
原创粉丝点击