相当于Matlab中的C ++ std :: set

时间:2013-01-14 10:08:54

标签: c++ matlab

如何在Matlab中定义具有以下属性的set

  • 独特物品
  • 高效搜索

也许没有内置容器,那么如何将一些东西组合起来以获得与C ++中std::set相同的东西呢?

1 个答案:

答案 0 :(得分: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]