set
これらのプロパティを持つMatlabで定義するにはどうすればよいですか:
- ユニークなアイテム
- 効率的な検索
- 順序付けられました
std::set
組み込みのコンテナがないのかもしれません。では、C++と同じように、いくつかのものを組み合わせて上記のものを得るにはどうすればよいでしょうか?
次のように Java の HashSet を使用できます。
>> x = java.util.HashSet;
>> x.add(1);
>> x.add(2);
>> x.contains(1)
ans =
1
>> x.contains(3)
ans =
0
>> x
x =
[2.0, 1.0]
コメントでは、HashSet が順序付けされていないことが指摘されました。これは完全に真実です。私のミス!代わりに、順序付けられた TreeSet を使用できます。
>> x = java.util.TreeSet;
>> x.add(1);
>> x.add(3);
>> x.add(2);
>> x
x =
[1.0, 2.0, 3.0]