Presented by Nishishi via Movable Type. Last Updated: 2008/01/11. 00:31:47.

STLのlistでn番目とm番目の要素を入れ替えるには

STLのlistで、n番目とm番目の要素を交換したい場合のプログラムソース。

std::list<sakura> tomoyo;

tomoyo」の中に何かいろいろ入っているとする。
ここでn番目とm番目の要素を入れ替えるには、以下のように記述。

std::list<sakura>::iterator it1;
std::list<sakura>::iterator it2;
it1 = tomoyo.begin();
it2 = tomoyo.begin();

std::advance( it1, n-1 ); // n番目に移動
std::advance( it2, m-1 ); // m番目に移動

// 要素を交換する
std::iter_swap(it1, it2);

nmは、int型の変数。

この日記へのコメントはお気軽に! コメント数:0 トラックバック数:0

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

投稿後、投稿できていないように見えることがあります。ブラウザのキャッシュが読まれているだけですので、ページを再読込すれば(=たいてい[F5]キーを押せば)投稿内容が反映されていることが確認できるはずです。連続投稿を試す前にご確認下さい。(^^;)

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)