Java - 循环链接列表 - 删除功能不起作用

时间:2013-12-23 18:34:10

标签: java linked-list

我正在尝试用Java编写循环链表但我的删除功能不起作用。

1 个答案:

答案 0 :(得分:1)

public T delete(int index) {
    index = index%length; 
    T delete = null;
    for(int i = 0; i<length-1; i++) {
        if (index == 0) {
             delete = current.data;
             current = current.next;
             last.next = current;
             length--;
             break;
        }
        current = current.next;
    }
    return delete;
 }

此功能刚刚破解。你永远不会修改for循环中的索引,但是你总是检查它是否等于0。

有两个问题 - 第一个是你似乎永远不会初始化当前(实际上你似乎在修改一个成员变量?)。 第二个是循环,但始终将index与常量进行比较,永远不要修改常量。

如果index == i更可能是正确的,但仍然无法解释当前的情况。我可以告诉你这个循环是错误的。 需要离开。找出你需要从这个方法中获得的行为,然后计算出算法来生成它。

您的删除代码是正确的。您的“找到要删除的元素”代码是错误的。