ノードが挿入されると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;
}