美文网首页算法
Java算法——快排算法

Java算法——快排算法

作者: 白驹过隙_a | 来源:发表于2019-01-07 21:04 被阅读0次
public class QuickSort {
    public static void quickSortHelp(int[] arr) {
        quickSort(arr,0, arr.length-1);
    }
    public static void quickSort(int[] arr,int low, int high) {
        if(low<high) {
            int partition = partition(arr,low,high);
            quickSort(arr,low, partition-1);
            quickSort(arr,partition+1, high);
        }
        
    }
    public static int partition(int[] arr,int low,int high) {
        while(low<high) {
            while(arr[high]>=arr[low]&&low<high){
                high--;
            }
            Swap(arr,high,low);
            while(arr[low]<=arr[high]&&low<high) {
                low++;
            }
            Swap(arr,high,low);
        }
        return low;
    }
    public static void Swap(int[] arr,int high,int low) {
        int temp = arr[low];
        arr[low] =arr[high];
        arr[high] = temp;
    }
    public static void main(String[] args) {
        int[] array = { 2, 8, 5, 6, 10, 5, 4, 6, 11, 15, 3 };
        quickSortHelp(array);
        for (int s : array) {
            System.out.println(s);
        }
    }
}

相关文章

  • Java算法——快排算法

  • 排序

    八大排序算法 一、归并排序 递归及非递归的JAVA实现 二、快速排序 快排算法JAVA实现 三、堆排序 堆排序堆排...

  • all

    算法与数据结构 常见算法类型 排序算法(冒泡、插入、选择、快排、希尔、堆排、归并、桶排、基数、计数)、字符串操作、...

  • 快排算法

    转:微信公众号:程序员小灰 快排算法 是按分治算法的思路进行排序的。 选定参照元素后,每次比较都按分治算法将小的移...

  • 快排算法

    本文摘自https://blog.csdn.net/yzllz001/article/details/509828...

  • 快排算法

    这里对快速排序做一下总结(之前在写时间复杂度和空间复杂度时候想到的。) 1. 思想 快排的思想就是说,选定数组中第...

  • 【算法】快排

    1.时间复杂度 2.快排

  • 2018-07-13

    快速排序算法 快排普通版本: 快排优化版本: 测试代码:

  • 常用排序算法

    常见排序算法 本文介绍6种常用排序算法,包括冒泡、选择、插入、快排、堆排、希尔排序。下面从排序算法的原理、解题步骤...

  • 排序算法-堆排序

    参考: Java排序算法(五):堆排序 【算法与数据结构】图说堆排序 【数据结构】排序算法:希尔、归并、快速、堆排...

网友评论

    本文标题:Java算法——快排算法

    本文链接:https://www.haomeiwen.com/subject/babprqtx.html