我试图通过测试人员通过我的Quicksort实现;但是,我在推荐的行
上获得了-1的Array Index Out Of Bounds异常=IF(ISNUMBER($B2),$B2,"")
我试图调试我的代码,但似乎我没有看到修复错误的方法。任何帮助将不胜感激。
答案 0 :(得分:1)
为什么世界上你在做什么
int left = data.indexOf(firstIndex); int right = data.indexOf(numberToPartition);
?这会查找正在排序的firstIndex
元素中numberToPartition
和List
的值。这些数值决不会出现在数据中,即使它们存在,也完全是巧合。他们在数据中的指数没有意义。
如果这些值中的一个或两个不存在于数据中,indexOf()
会返回-1
,然后您可以愉快地传递给List.get()
看起来你想要的更像是
int left = firstIndex;
int right = firstIndex + numberToPartition - 1;
答案 1 :(得分:0)
确保firstIndex
确实发生了data
,如果不是.indexOf
方法返回-1,那么java.lang.ArrayIndexOutOfBoundsException: -1
将会int left = data.indexOf(firstIndex);
{ p>