2015-09-27 42 views
0

我在C++中实现BST,并实现了Get(),Add(),Remove()和Contains()方法。我知道一些容器有标准,比如堆栈有push()和pop()方法。但是我找不到关于BST标准方法的任何文件?二叉搜索树方法有没有标准?

是否有标准方法(如接口)还是由我们决定?

+0

BST实际上是一个排序集,您可以查看Java 7 API为TreeSet提供的内容:https://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html – errikos

+2

' std :: set'是第一个近似值,是一个二叉搜索树。你可以考虑它的接口来指导。 –

+0

@IgorTandetnik这实际上是helltful,我认为这是我的答案。我会照你说的去做。 – ozgur

回答

0

最终,它取决于你。 C++没有为任何事物定义标准接口。

即表示STL确实重新使用存取器名称。

设置和映射可能是与您的BST最相似的数据结构。

设置使用insert(),count()告诉你一个集合是否包含一个项目,erase()删除一个项目。

地图使用operator[](方括号)和at()来访问和设置元素,此外还提供insert()erase()用于删除元素。

因此,从这个意义上说,存在某种标准化,但它是特定于STL和那些模拟它的人。然而,STL的使用是广泛的,所以如果有什么你想效仿的,就是这样。

+0

我会这样做的。最后,该类的其他用户将熟悉STL容器。 – ozgur