これが循環リストの削除メソッドを作成する適切な方法であるかどうかはわかりません。また、1 ノード リストで機能させるのに問題があります。
public void remove() {
if(first.getNext() == null) {
first = null;
first.setNext(null);
} else {
Node current = first;
for(int i = 0; i < getSize() - 1; i++) {
current = current.getNext();
}
first = first.getNext();
current.setNext(first);
size--;
}
}
2 つを超えるリストに対しては適切に機能していますが、これが問題に取り組む最善の方法であったかどうかはわかりません。これを改善する方法や、1 つのノード リストを適切に削除するための提案はありますか? 最初のノードを null に設定し、次のノードも null に設定しても、元の入力が返されます。
編集:将来これを見る人のために、要素を削除できないというメッセージを出力しました。私の任務は、そのために何をすべきかについて非常に曖昧だったからです。