av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

java - 希爾排序的疑問

瀏覽:121日期: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
相關文章:
主站蜘蛛池模板: 日韩精品久久久久 | 欧美日韩亚洲一区 | 亚洲欧美日韩另类 | 日日夜夜综合网 | 超碰在线观看免费版 | 欧美在线视频一区二区 | h片免费看| 国产欧美精品一区二区 | 刘玥大战28公分黑人 | 天天爽天天干 | 日本一级大毛片a一 | 一区二区在线看 | 91tv国产成人福利 | 第一福利视频 | 中文字幕在线一区二区三区 | 日本在线免费 | 饥渴放荡受np公车奶牛 | 五月婷婷六月激情 | 午夜在线观看视频 | 国产av毛片| a视频在线观看 | 欧美日韩黄 | 精品一区二区三区视频 | av大片在线观看 | 精品视频免费观看 | 国产精品偷乱一区二区三区 | 成年人免费在线观看 | 欧美日韩国产成人 | 性视频网 | 国产亚洲欧美日韩高清 | 刘玥大战28公分黑人 | 青青艹在线视频 | 久久久在线视频 | 黑人巨大猛烈捣出白浆 | 国产精品香蕉 | 国产欧美成人 | 日韩中文字幕第一页 | 青青久操 | 国产精品视频免费在线观看 | 免费不卡视频 | 男人的天堂在线视频 |