• 快速排序 java实现


    转载自:

    https://blog.csdn.net/shujuelin/article/details/82423852

    int[] arr={6,3,5,1,7,8,11,4,9};

    正序排列。

    1.首先拿到一个基准数,例如那数组第一个元素 6为基准数,

    2.然后从左边第一个数开始跟基准数比较,从右边第一个数开始跟基准数比较。

    3.从左边开始查找比6大的,从右边开始查找比6小的

    4.两边都找到之后,将左右两边找到的数字互换位置,这样大的数字就被放在了右边,小的数字就放在了左边。

    5.循环一轮之后,最终左右探测会遇到。这时候,需要把基准数和当前相遇的数字交换。

    6.递归调用

    package com.citi.test.demo;
    
    public class QuickSort1 {
        
        public static void quickSort(int[] arr,int low,int high){
            int i,j,temp,t;
            i=low;
            j=high;
            if(i>j){
                return;
            }
            temp=arr[low];
            while(i<j){
                //temp跟右边开始比较
                while(temp<=arr[j]&&i<j){
                    j--;
                }
                while(temp>=arr[i]&&i<j){
                    i++;
                }
                if(i<j){
                    t=arr[i];
                    arr[i]=arr[j];
                    arr[j]=t;
                }
            }
            //表示i=j
            arr[low]=arr[i];
            arr[i]=temp;
            //左半边数组执行快排
            quickSort(arr, low, j-1);
            //右半边数组执行快排
            quickSort(arr,j+1,arr.length-1);
        }
        
        public static void main(String[] args) {
            int[] arr={6,3,5,1,7,8,11,4,10,9};
            quickSort(arr,0,arr.length-1);
            for(int i=0;i<arr.length-1;i++){
                System.out.println(arr[i]);
            }
        }
    }
    View Code

      

  • 相关阅读:
    EasyUI--messager
    EasyUI--初学
    框架错误汇总
    OGNL调用静态方法和属性
    查询内容在网页里面分页显示+跳页查看
    struts2——通配符
    JavaScript 输出
    JavaScript语法(一)
    Struts+Hibernate+jsp页面 实现分页
    elasticsearch-5.x JAVA API(001)
  • 原文地址:https://www.cnblogs.com/liumy/p/12026039.html
Copyright © 2020-2023  润新知