今天就跟大家聊聊有關(guān)怎么在Java項(xiàng)目中利用QuickSort實(shí)現(xiàn)一個(gè)快速排序功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
萬(wàn)全ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
快速排序
----------------------------------------------------------------------
思想

如上圖:每趟快速排序開始時(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)行排序
}
}看完上述內(nèi)容,你們對(duì)怎么在Java項(xiàng)目中利用QuickSort實(shí)現(xiàn)一個(gè)快速排序功能有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站欄目:怎么在Java項(xiàng)目中利用QuickSort實(shí)現(xiàn)一個(gè)快速排序功能
分享路徑:http://www.chinadenli.net/article2/iphjoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、動(dòng)態(tài)網(wǎng)站、網(wǎng)站維護(hù)、品牌網(wǎng)站建設(shè)、小程序開發(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)