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

mas*_*oud 6 c++ matlab

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

  • 独特的物品
  • 高效的搜索
  • 有序

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

Chr*_*lor 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]
Run Code Online (Sandbox Code Playgroud)

在评论中指出,没有订购HashSet.这是完全正确的.我的错!您可以使用TreeSet,它有序的:

>> x = java.util.TreeSet;
>> x.add(1);
>> x.add(3);
>> x.add(2);
>> x
x = 
[1.0, 2.0, 3.0]
Run Code Online (Sandbox Code Playgroud)