代行レスはここへ143at OPERATEX
代行レスはここへ143 - 暇つぶし2ch306:動け動けウゴウゴ2ちゃんねる
10/05/13 00:29 lRGIuUIg
お願いします。
【板名】プログラム【スレ名】C++相談室
【スレのURL】 スレリンク(tech板)
【名前欄】【メール欄】sage
【本文】multiset<int> ms;
ms.insert(3);ms.insert(2);ms.insert(4);
ms.insert(4);ms.insert(1);ms.insert(5);
としたとき、【A】multisetの中の一番小さいもの
&二番目に小さいもの(1,2)を取得し削除する処理と
同様に、【B】multisetの中の一番大きいもの
&二番目に大きいもの(5,4)を取得し削除する処理を書きたいです。

multiset<int>::iterator it = ms.begin();
int one = *it; ms.erase(it++);
int two = *it; ms.erase(it);
処理Aは以上のコードで可能なのですが、処理Bができません。
multiset<int>::reverse_iterator it = ms.rbegin(); とすると
ms.erase(it++); ができませんし、
multiset<int, std::greater<int>> ms; はエラーでコンパイルできません。
なにか上手な方法はありませんか?環境はVC++2010です。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch