java快速排序

來源:互聯網
上載者:User

標籤:java快速排序

//快速排序思想:選擇數組最後一個數(key),比它小的排他前面 ( key放中間 )  比它大的排後面, 然後遞迴  終止條件(數組只有一個數)public class Sort<T extends Comparable<T>> {    //能排序的都是能比較的,所以必須繼承java.lang.Comparablepublic void quick(T[] array){sort(array,0,array.length-1);}private void sort(T[] array ,int left,int right){  if(left<right){int p=partition(array,left,right);  sort(array,left,p-1);sort(array,p+1,right);}}private int partition(T[] array,int left,int right){int i=left-1;for(int j=left;j<right;j++){if(array[j].compareTo(array[right])<=0)    {i++;                   // 理解 int i=left-1 和 return i+1; 細節細節!!!需要自己體會swap(array,i,j);}}swap(array,i+1,right);   //  把key 插入return i+1;}private void swap(T[] array, int i,int j){T t=array[i];array[i]=array[j];array[j]=t;}}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.