0

我目前正在执行我的任务,即实现 LinkedList 数据结构,我已经完成了所有代码,除了它不能正常工作,我正在测试它的输入代码是“1,2,3,4, 5”,但是仅输出“1”而不是所有值。

这是我的代码:

// Main Method Functions
private static LinkedList createLinkedList(int[] values) {
    LinkedList list;

    list = new LinkedList();
    for (int i = 0; i < values.length; i++) {
        list.add(values[i]);
    }
    return list;
}

private static void printList(LinkedList list) {
    Node currentNode = list.getHead();

    while(currentNode != null) {
        System.out.println(currentNode.getint());
        currentNode = currentNode.getNextNode();
    }
}

// LinkedList class functions
public void add(int value) {
    Node newNode = new Node(value);
    Node currentNode;

    if(head == null) {
        head = newNode;
    } else {
        currentNode = newNode;

        while(currentNode.getNextNode() != null) {
            currentNode = currentNode.getNextNode();
        }
        currentNode.setNextNode(newNode);
    }
    size++;
}

谁能指出我做错了什么?如果您需要添加任何其他功能,请告诉我,谢谢。

编辑:显示正在添加的值的函数:

private static void processLinkedList() {
    int[] values = new int[] {1,2,3,4,5};
    LinkedList list = createLinkedList(values);
    printList(list);
    System.out.println(list);
}
4

2 回答 2

1

在你的add()方法中,

currentNode = newNode;

应该可能更改为

currentNode = head;

看看这是否会让你前进。

于 2013-04-04T23:43:32.037 回答
1

你可能应该替换
else {
currentNode = newNode;
通过
else {
currentNode = head;

于 2013-04-04T23:45:08.003 回答