色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

java - 希爾排序的疑問

瀏覽:118日期:2023-10-30 18:01:28

問題描述

public static void sort(long[] arr){int h = 1; // 初始化間隔// 計算最大間隔while(h < arr.length / 3){ h = 3 * h + 1;}while(h > 0){ long temp = 0; for(int i = h; i < arr.length; i++){temp = arr[i]; // temp等于數組第i個元素的值int j = i;while(j > h - 1 && arr[j - h] > temp){ arr[j] = arr[j - h]; j-=h;}arr[j] = temp; } // 下一個h值 h = (h - 1) / 3;} }

疑問:while(j > h - 1 && arr[j - h] > temp) 這行代碼,j > h - 1; 不懂為啥 j > 0 會出現數組越界異常,而 j > h - 1 就不會。

@奔跑如風 ,能幫忙看看嗎?謝謝~

問題解答

回答1:

j > h - 1 && arr[j - h] > temp

這兩句合起來看,你的j>0無法保證j - h是大于等于0的。

回答2:

我也覺得可能是j>0無法滿足j-h>=0的情況。你可以把arr數組開的很大,如果還錯的話那就肯定是這個原因,但是從代碼上看,我覺得j-h始終是大于等于0的?;仡^幫你調試下分析分析。

標簽: java
相關文章:
主站蜘蛛池模板: 国产成人精品日本亚洲网站 | 免费看一级 | 欧美二级在线观看免费 | 国产免费久久精品99re丫y | 色偷偷亚洲精品一区 | jyzzjyzz国产免费观看 | 99久久伊人一区二区yy5o99 | 欧美孕妇孕交 | 亚洲精品色综合色在线观看 | 韩国日本三级在线观看 | 亚洲午夜大片 | 久久久久久a亚洲欧洲aⅴ | 国产日产欧产精品精品推荐小说 | f性欧美| 日韩国产免费一区二区三区 | 国内自拍小视频 | 中文字幕亚洲在线 | 亚洲看片网 | 99热国产免费 | 久久久精品国产免费观看同学 | 国产成人免费午夜在线观看 | 538在线视频二三区视视频 | 亚洲理论片在线中文字幕 | 深夜福利国产 | 免费看a级毛片 | 欧美日本一区视频免费 | 国产精品九九 | 国产成人精品久久亚洲高清不卡 | 一级aaaaaa毛片免费 | 一级aaaaa毛片免费视频 | 欧美大片一区二区三区 | 日韩欧美在线观看一区 | 日a在线| 精品中文字幕在线 | 成人一级毛片 | 另类欧美日韩 | 狠狠色狠狠色综合久久第一次 | 国产一区二区三区久久 | 三级精品在线观看 | 国产欧美久久久精品影院 | 久久高清精品 |