| > ハッシュ使うのはどうでしょうか?
ほい。
// VC++9 でやったなり。
#include <iostream>
#include <unordered_map> // ココと
using namespace std;
int main() {
const int N = 8;
char a[N] = {'m','o','u','n','t','a','i','n'};
typedef tr1::unordered_multimap<char,int> map_type; // ココいぢっただけ。
map_type m;
for ( int i = 0; i < N; ++i ) {
m.insert(make_pair(a[i],i));
}
for ( pair<map_type::iterator,map_type::iterator> range = m.equal_range('n');
range.first != range.second;
++range.first ) {
cout << "nの位置は" << range.first->second << endl;
}
}
|