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 回答