public static void main(String[] args){
Integer[] papapa = {1,4,7,9,12,16,2,5,8,10,11,17};
merge(papapa,0,11,5);
for (Integer value:papapa) {
StdOut.println(value);
}
}
// public static Comparable[] sort(Comparable[] intList){
//
//
// }
public static void merge(Comparable[] intList,int low,int high,int mid){
Comparable[] tmp = new Comparable[intList.length];
int i = low;
int j = mid+1;
int start = low;
while(i<=mid || j<=high){
//處理邊界條件 當(dāng)有一方到達(dá)邊界
if(i>mid){
tmp[start++] = intList[j++];
continue;
}else if(j>high){
tmp[start++] = intList[i++];
continue;
}
if (less(intList[i],intList[j])){
tmp[start++] = intList[i++];
}else{
tmp[start++] = intList[j++];
}
}
//把臨時(shí)數(shù)組的內(nèi)容覆蓋到原數(shù)組
for(int q=low;q<=high;q++){
intList[q] = tmp[q];
}
}
算法(第四版)歸并排序 merge方法
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 歸并排序 -自然語言描述: 指的是將兩個(gè)已經(jīng)排序的序列合并成一個(gè)序列的操作。 歸并過程為:比較a[i]和a[j]的...
- 聲明:算法和數(shù)據(jù)結(jié)構(gòu)的文章均是作者從github上翻譯過來,為方便大家閱讀。如果英語閱讀能力強(qiáng)的朋友,可以直接到s...
- 在一個(gè)有序的數(shù)列中插入一個(gè)數(shù),將數(shù)從右到左對(duì)比知道走到合適的位置永遠(yuǎn)維護(hù)一個(gè)有序的數(shù)組,每次“插入”一個(gè)新的數(shù)是都...
- 選擇排序 對(duì)于任何輸入,時(shí)間為O(n*n); 冒泡排序 最優(yōu)(對(duì)于升序的數(shù)組,因?yàn)榧尤肓艘粋€(gè)跳出判斷):O(n),...