午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

java - 希爾排序的疑問

瀏覽:178日期: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
相關文章:
主站蜘蛛池模板: 欧美综合视频在线 | 草久久免费视频 | 国产午夜三级一区二区三 | 五月婷在线观看 | 中文在线а√在线8 | 五月综合久久 | 国产探花在线观看 | 天堂综合 | 国产欧美视频在线观看 | 色综合日韩 | 五月婷婷丁香激情 | av激情网| 欧美精产国品一二三区 | 中文字幕av亚洲精品一部二部 | 美女一区二区三区四区 | 香蕉视频网站 | 黄网在线视频 | 欧美中文在线观看 | 亚洲欧美网站 | 人人揉人人 | 久久激情网站 | 午夜动漫 | 久久精品久久久久久久 | 黄色一级片网站 | 999国产精品视频免费 | 91网站免费视频 | 精品免费久久 | 噜噜色av| 亚洲四区| 久久yy| 欧美激情精品久久久久久蜜臀 | 中国精品毛片 | 亚洲国产999| 网友自拍第一页 | 一级理论片| 一个人看的www在线视频 | 久久精品99国产国产精 | 成人高清视频在线观看 | 久久久精品欧美 | 毛片大全免费 | 天天天综合 |