第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java插入排序:“相同”變量得到不同的結(jié)果

Java插入排序:“相同”變量得到不同的結(jié)果

拉風(fēng)的咖菲貓 2021-11-03 16:52:31
我正在使用 Java 進(jìn)行插入排序。例如,如果我有一個整數(shù)數(shù)組 {8,7,6,5,4,3,2,1},這會給我錯誤的結(jié)果:7,6,5,4,3,2,1,8圖片public static int[] insertionSort(int[] list) {    int[] insertionList = list.clone();    for(int i = 1; i < insertionList.length; i++) {        int temp = insertionList[i];        int j = i - 1;        while(j >= 0 && insertionList[j] > insertionList[i]) {            insertionList[j + 1] = insertionList[j];            j--;        }        insertionList[j + 1] = temp;    }    return insertionList;}這會給我我想要的結(jié)果:1,2,3,4,5,6,7,8圖片public static int[] insertionSort(int[] list) {    int[] insertionList = list.clone();    for(int i = 1; i < insertionList.length; i++) {        int temp = insertionList[i];        int j = i - 1;        while(j >= 0 && insertionList[j] > temp) {            insertionList[j + 1] = insertionList[j];            j--;        }        insertionList[j + 1] = temp;    }    return insertionList;}只是想知道insertionList[i]和之間有什么不同temp。我寫了兩個println語句來測試這些,但它們也顯示相同的數(shù)字。
查看完整描述

3 回答

?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊

不同之處在于'insertionList' 在while 循環(huán)中被修改。當(dāng)您將 temp 變量設(shè)置為 'insertionList[i]' 時,temp 的值在整個 while 循環(huán)中保持不變。


查看完整回答
反對 回復(fù) 2021-11-03
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗 獲得超9個贊

while(j >= 0 && insertionList[j] > insertionList[i]) {

            insertionList[j + 1] = insertionList[j];

            j--;

        }

錯誤在這里。插入列表[j + 1] = 插入列表[j]


在第一次執(zhí)行時,j + 1 = i,它會改變insertList[i]的值


它會影響你的病情。


insertionList[j] > insertionList[i]

所以應(yīng)該改為臨時變量。


查看完整回答
反對 回復(fù) 2021-11-03
?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗 獲得超6個贊

while(j >= 0 && insertionList[j] > insertionList[i]) 在這一行中,您正在與循環(huán)insertionList中的迭代中的第 i 個元素進(jìn)行比較,此代碼可能會更改所持有的值。但是當(dāng)您使用變量時,對于整個迭代,此處的比較值不會改變。這就是為什么你得到不同的輸出。whileinsertionList[j + 1] = insertionList[j];insertionList[i]tempinsertionList[j] > temp


查看完整回答
反對 回復(fù) 2021-11-03
  • 3 回答
  • 0 關(guān)注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號