削除した要素の次の要素へのイテレータを返す。指すイテレータを返す)削除処理を図示すると下図の様になる。様に、削除された場所以降のデータを前にずらすのではなく、ポインタを付け替えるだけだ。定数時間で可能なのだ。そのまま使用してはいけない。正しいノードを指すようにしなくてはいけない。要素を全て削除したい場合は、以下のように記述する。先頭を削除するコードを書き、デバッガで実行し、先頭データが削除されたことを確認しなさい。末尾を削除するコードを書き、デバッガで実行し、末尾データが削除されたことを確認しなさい。番目の要素を削除し、本当に削除されたことを確認するコードを書き、実行してみなさい。要素を削除する時間を計測しなさい。要素数が、10万個、100万個と増えると、処理時間が何倍になるか計測しなさい。計測結果と比較しなさい。定義し、テストしなさい。定義し、テストしなさい。用意されているのだが、引数に渡すイテレータはランダム・アクセス可能なものでないといけない。利用することが出来ない。下記は、ビルド時エラーとなる。メンバ関数として用意されている。定義されている)必要がある。定義されていないのでエラーになる。定義してあげるとエラーはなくなる。ソートするコードを書きなさい。ソートするコードを書きなさい。例をビルドし、エラーが出ることを確認しなさい。例をビルドし、エラーが出なくなることを確認しなさい。それらを使えば、挿入削除処理を高速化したい場合等に、通常配列を双方向リストに置き換えることができるはずだ。実は双方向リストにはこれまで説明してきたもの以外にも便利な機能がメンバ関数としていくつも用意されている。配列が空かどうかをチェックしたり、要素数を調べたり、サイズを変更することもできる。これらは通常配列に対する明らかなアドバンテージである。empty()」は双方向リストが空かどうかを判定する関数。