从插入函数中返回布尔值的正确方法是什么?

时间:2013-10-27 02:31:59

标签: java insert linked-list boolean

我正在实现一个链接列表,该列表具有插入函数,一旦插入节点就返回true。在这种情况下,从概念上返回false的正确方法是什么?

public boolean insert(int d) {
        if (head == null) {
            head = new Node(d);
            return true;
        }

        if (head.data > d) {
            Node holder = head;
            Node newNode = new Node(d);
            head = newNode;
            head.next = holder;
            holder.prev = newNode;
            return true;
        }

        Node tmpNode = head;

        while (tmpNode.next != null && tmpNode.next.data < d) {
            tmpNode = tmpNode.next;
        }

        Node prevTmp = tmpNode;         
        Node insertedNode = new Node(d);

        if (tmpNode.next != null) {
            Node nextTmp = tmpNode.next;
            insertedNode.next = nextTmp;
            nextTmp.prev = insertedNode;
        } 
        prevTmp.next = insertedNode;
        insertedNode.prev = prevTmp;    
        return true;
    }

1 个答案:

答案 0 :(得分:2)

在你的情况下,insert()方法应该是无效的,因为你在所有的情况中都是正确的。返回布尔值意味着有些情况下您无法将元素插入集合中,例如不允许重复项