宿題のリンク リストを作成していて、プログラムの要件として begin() と end() を実装する必要があります。
Begin() はかなり簡単です
Node* List::begin(){return head;}
end() をどのように実装すればよいですか?
宿題のリンク リストを作成していて、プログラムの要件として begin() と end() を実装する必要があります。
Begin() はかなり簡単です
Node* List::begin(){return head;}
end() をどのように実装すればよいですか?
NULL
ポインタを返すか、カスタムtail
ノードがある場合はそれを返します。循環二重リンク リストの場合は、センチネル ノードを返すことができます。
リストの最後を確認する適切な方法は を呼び出すList::end()
ことであるため、クラスを適切に設定している場合はList
、何を返すかは問題ではないことに注意してください。
Node* node = mylist.begin();
while (node != mylist.end()) { /*... loop */ }
機能しwhile
、リストの最後に到達するとループを終了します。その主なことは、リストの中央をトラバースしている場合に遭遇することのない固有のList::end()
ものを返す必要があるということです。