2015-09-27 22 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