6

setこれらのプロパティを持つMatlabで定義するにはどうすればよいですか:

  • ユニークなアイテム
  • 効率的な検索
  • 順序付けられました

std::set組み込みのコンテナがないのかもしれません。では、C++と同じように、いくつかのものを組み合わせて上記のものを得るにはどうすればよいでしょうか?

4

1 に答える 1

7

次のように 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]
于 2013-01-14T10:15:20.883 に答える