我该如何在Matlab中定义一个拥有以下属性的set
:
- 唯一的项
- 高效的搜索
- 有序
也许Matlab没有内置的容器,那么我该如何结合一些内容来实现与C++中的std::set
相同的功能呢?
>> 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]
>>
是MATLAB提示符) - Chris Taylor