【发布时间】:2014-12-01 03:30:25
【问题描述】:
对于编程任务,我们被要求创建一个有序向量类。我的问题是关于我的“leftShift”功能。
我的第一个代码编译良好,但在使用测试文件运行时会因索引越界异常而崩溃。
**private E LeftShift(int index){
E Temp = arrayFirst[index];
for (int x = index ; x<= size -1 ; x++){
arrayFirst[x] = arrayFirst[x+1];
}
return Temp;**
这让我很头疼,但经过反复试验后,我只是删除了一个 = 以使其正常运行。
**private E leftShift(int index){
E Temp = arrayFirst[index];
for (int x = index ; x < size -1 ; x++){
arrayFirst[x] = arrayFirst[x+1];
}
return Temp;**
虽然它确实有效,但我希望更好地了解为什么我的第一个代码会崩溃,以及是什么让第二个代码可以正常工作。任何解释都非常感谢!
【问题讨论】:
-
leftShift被调用后,向量的最后两个元素相同是不是期望的结果?
标签: java vector data-structures ordereddictionary