算法之-快速排序算法

来源:互联网 发布:linux清空tmp 编辑:程序博客网 时间:2024/05/21 16:57

快速排序算法应用的比较广泛,是一个非常经典的排序算法,

public class QuickSort   {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub         QuickSort quick=new QuickSort();           Integer  []arrays={98,4,7,9,12,98,34,344,988,654,43,566,7,9,6,87,89,65,789,96};         quick.sort(arrays);       for (int i = 0; i < arrays.length; i++) {System.out.println(arrays[i]);}}public int partition(Integer[] arrays,int low,int hign){     int i = low,j=hign+1;     while(true){          while(arrays[++i]<arrays[low]){     if(i==hign){     break;     }     }     while(arrays[--j]>arrays[low]){     if(j==low){     break;     }     }     if(i>=j){     break;     }     swap(arrays,i,j);          }     swap(arrays,low,j);return j;}   private void swap(Integer[] arrays, int i, int j) {int temp=arrays[i];arrays[i]=arrays[j];arrays[j]=temp; }   public  void sort(Integer [] arrays){     sort(arrays,0,arrays.length-1);    }private void sort(Integer []array,int i,int j){if(i>=j)return;int index=partition(array, i, j);sort(array, i, index-1);sort(array, index+1, j);}}



0 0