今天就跟大家聊聊有關(guān)怎么在Java項(xiàng)目中利用QuickSort實(shí)現(xiàn)一個(gè)快速排序功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
站在用戶的角度思考問題,與客戶深入溝通,找到沈北新網(wǎng)站設(shè)計(jì)與沈北新網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋沈北新地區(qū)。快速排序
----------------------------------------------------------------------
思想
如上圖:每趟快速排序開始時(shí),設(shè)置一個(gè)key,key=array[low],然后由high向左,找到小于key的值,復(fù)制到low位置,然后再由low向右找到大于key的值,復(fù)制到high位置,直到low=high結(jié)束,
將key的復(fù)制到low位置。
上圖中第一輪劃分后找到32的位置,然后遞歸的對(duì)32左邊和右邊的進(jìn)行排序。
代碼:
package Sort; import java.util.Arrays; public class QuickSort { public static void main(String[] args) { int array[]={32, 12, 7, 78, 23, 45}; quickSort(array,0,array.length-1); System.out.println(Arrays.toString(array)); } public static void quickSort(int array[],int left,int right) { if(left>=right) { return ; } int i=left; int j=right; int key=array[left]; while(i<j) { while(i<j&&array[j]>key) { j--; } array[i]=array[j]; //從后往前找到第一個(gè)比key小的數(shù)與array[i]交換; while(i<j&&array[i]<key) { i++; } array[j]=array[i]; //從前往后找到第一個(gè)比key大的數(shù)與array[j]交換; } array[i]=key; //一趟快排之后已經(jīng)將key的位置找到。 quickSort(array,left,i-1); //對(duì)key左邊的進(jìn)行排序 quickSort(array,i+1,right); //對(duì)key右邊的進(jìn)行排序 } }
標(biāo)題名稱:怎么在Java項(xiàng)目中利用QuickSort實(shí)現(xiàn)一個(gè)快速排序功能-創(chuàng)新互聯(lián)
瀏覽路徑:http://jinyejixie.com/article2/gphoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站營(yíng)銷、網(wǎng)站導(dǎo)航、企業(yè)網(wǎng)站制作、小程序開發(fā)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容