美文网首页
java算法之快速排序

java算法之快速排序

作者: 上下而求索 | 来源:发表于2018-11-13 21:13 被阅读0次
public class QuickSort {

    
    
    public static void main(String[] args) {
        
        int[] list= {49,38,65,97,76,13,27};
        
        quickSort(list, 0, list.length-1);
    }
    
    public static void quickSort(int []arr,int low,int high) {
        
        
        if(low<high) {
            
            int mid=partition(arr, low, high);
            //左边的进行分区
            quickSort(arr, low, mid-1);
            
            //右边的进行分区
            quickSort(arr, mid+1, high);
        }
    }
    
    
    public static int partition(int[]array,int low,int high) {
        
        //设置两个变量  i   j    i=0    j=high
        
        //以数组的第一个元素作为关键字
        int key=array[low];  
        
        int i=low,j=high;
        if(low<high) {
            
            while(i<j) {
                
                //由J开始向前搜索
                while(i<j&&array[j]>=key) {
                    
                    j--;
                }
                if(i<j) {
                    
                    array[i]=array[j];
                    i++;
                }
                
                //从i 开始搜索
                while(i<j&&array[i]<=key) {
                    
                    i++;
                }
                if(i<j) {
                    
                    array[j]=array[i];
                    j--;
                }
            }
            array[i]=key;
            
            System.out.println("每次排序的结果"+Arrays.toString(array));
        }
        
        return i;
    }
}

相关文章

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • 七大排序算法之快速排序

    七大排序算法之快速排序 @(算法笔记)[排序算法, 快速排序, C++实现] [TOC] 快速排序的介绍: 快速排...

  • 快速排序

    手写java版快速排序算法实现

  • java排序方法资料

    java排序,效率高的是哪种排序方法 JAVA快速排序(高效) java中常用的几种排序算法 相关代码: /* *...

  • 排序算法-堆排序

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

  • 排序

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

  • 排序算法

    常见排序算法比较 参考资料:各种排序算法比较 参考资料:快速排序算法 必须知道的八大种排序算法【java实现】(一...

  • 一文搞定十大经典排序算法(Java实现)

    本文总结十大经典排序算法及变形,并提供Java实现。参考文章:十大经典排序算法总结(Java语言实现)快速排序算法...

  • 2018-07-03

    排序算法之快速排序 快速排序算法由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加...

  • Java版排序算法

    网上很多Java排序算法有错误,以下是本人经过整理校验后的算法。 1、冒泡排序 2、快速排序 3、选择排序 4、堆...

网友评论

      本文标题:java算法之快速排序

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