zoukankan      html  css  js  c++  java
  • 快排+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));
        }
    }
  • 相关阅读:
    退出窗口时出现“当”的响声
    屏幕设备环境
    修改一个完全颜色的CListCtrl类
    修改一个完全颜色的CListCtrl类
    MFC中CString.Format的详细用法
    网上阅卷系统自动识别功能代码
    mfc 子对话框数据传给父对话框
    already defined in *.obj
    Object 的使用
    this 函数执行上下文
  • 原文地址:https://www.cnblogs.com/heyboom/p/8989841.html
Copyright © 2011-2022 走看看