18時16分02秒 [C/C++言語]
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);
※n
とm
は、int型の変数。