Hatena::Grouptopcoder

TopCoder煮ブログ

本家ブログはこっち → http://d.hatena.ne.jp/nitoyon/

2008-10-11

vector の検索

| 00:23 | vector の検索 - TopCoder煮ブログ を含むブックマーク はてなブックマーク - vector の検索 - TopCoder煮ブログ

for で回すのは面倒。2分探索を使えばよい。

使用前:

// value を探す
bool found = false;
for(int i = 0; i < v.size(); i++){
  if(v[i] == value){
    found = true;
    break;
  }
}

if(found){
  // 見つかったときの処理
}

使用後:

#include <algorithm> // sort, binary_search
using namespace std;

sort(v.begin(), v.end());
if(binary_search(v.begin(), v.end(), value)){
  // 見つかったときの処理
}

binary_search するためには sort が必須なので注意。

begin() と end() をいちいち書くのが面倒なので

#define ALL(A) (A).begin(),(A).end()

のようなマクロを書いてる人がそこそこそいるようだ。

JawadJawad2012/09/01 13:04I can't bieleve I've been going for years without knowing that.

kdvyqyavzjikdvyqyavzji2012/09/02 04:27Kpeubu <a href="http://mqmbkmhedzjw.com/">mqmbkmhedzjw</a>

pqtofnzpqtofnz2012/09/04 17:50GdHgEq , [url=http://swjxqfenbdnc.com/]swjxqfenbdnc[/url], [link=http://qhqvwwbnhitb.com/]qhqvwwbnhitb[/link], http://tpccblpzwmkt.com/