私は私のように宣言したマップは、次のしている、しかしマップ内のキーを見つけ
int x; cin>>x;
index[x]=true;
cout<<index[y]; // for any number y not in
インデックスgives me 0
- マップに存在しないキーをチェックするときに値
0
を取得すると、キーがマップに存在するかどうかをどのようにして確実に知ることができますか? - 2つのセットが互いに素であるかどうかを調べるためにマップを使用しています。同じものについては、マップを使用していて、入力を格納する2つのベクトルを使用しています。これはどんな形でも手荒れですか?私が使っているはずの他のデータ構造ですか?
私もあなただけの例外をスローする出力イテレータを書くことができると考えていました。例外をキャッチして結果に変換します。 "セットは互いに素ではありません"。チーズですが、うまくいきます。 –
狂気;-)例外は例外的な行動でなければならないという原則に固執して、私はその考え方に偏っていると感じています... –
確かに、私は早めに退出させないアルゴリズムにも偏っています。私は特にこのような例外を使うのは好きではありませんが、セットが互いに素であることが期待される場合は、これをdisjoint setを必要とする操作の一部として実行しています。 –