08/03/25 22:29:48
>>36
ダミーのノードを1つ用意する。
ダミーノードの次のノードが最初のノードで、
ダミーノードの前のノードが最後のノード。
最初のノードの前のノードがダミーノードで、
最後のノードの次のノードがダミーノード。
ダミーノードがあると、
「~の次に追加」 という関数にダミーノードを渡すと先頭に追加になり、
「~の前に追加」 という関数にダミーノードを渡すと末尾に追加になる。
そして、一切の NULL チェックが不要になる(assert くらいはした方がいいと思うけど)。