• 快排+java实现


    import java.util.Arrays;
    
    public class QuickSort {
        //三数取中法。取出不大不小的那个位置
        public static int getPivotPos(int[] a,int low,int high) {
            int mid=(low+high)/2;
            int pos=low;
            if(a[mid]<a[low]) {
                int temp=a[low];
                a[low]=a[mid];
                a[mid]=temp;
            }
            if(a[high]<a[low]) {
                int temp=a[high];
                a[high]=a[low];
                a[low]=temp;
            }
            if(a[high]<a[mid]) {
                int temp=a[high];
                a[high]=a[mid];
                a[mid]=temp;
            }
            pos=mid;
            return pos;
        }
        //划分,取出枢纽位置
        public static int partition(int[] a,int low,int high) {
            int pivotpos=getPivotPos(a,low,high);
            int pivot=a[pivotpos];
            int temp=pivot;
            a[pivotpos]=a[low];
            a[low]=temp;
            while(low<high) {
                while(low<high&&a[high]>=pivot) high--;
                    a[low]=a[high];
                while(low<high&&a[low]<=pivot)  low++;
                    a[high]=a[low];
            }
            a[low]=pivot;
            return low;
        }
        //快排
        public static void quickSort(int[] a,int low,int high) { 
            if(low<high) {
                int pivotpos=partition(a,low,high);
                quickSort(a,low,pivotpos-1);
                quickSort(a,pivotpos+1,high);
            }
        }
        //重载快排
        public static void quickSort(int[] a) {
            if(a.length==0)
                return;
            int low=0;
            int high=a.length-1;
            quickSort(a,low,high);
        }
        
        public static void main(String[] args) {
            int[] a= {12,32,24,99,54,76,48};
            quickSort(a);
            System.out.println(Arrays.toString(a));
        }
    }
  • 相关阅读:
    git速度慢解决方式
    idea破解
    高并发redis分布式锁
    一个简单的struts2项目
    一个简单的java项目使用hibernate连接mysql数据库
    hibernate连接数据库中文乱码
    删除文件时出现找不到该项目 请确认该项目位置
    redis错误解决
    pyQT4和pyQT5的主要模块介绍
    python之type函数
  • 原文地址:https://www.cnblogs.com/heyboom/p/8989841.html
Copyright © 2020-2023  润新知