我需要使用的德爾福套的優勢,如「在」 C++中的設置,如數據結構,但我不知道是否有像++套在C什麼是C++
我的數據結構知道我可以用一個數組來代替,但正如我所說的,我想使用像「in」這樣的set優勢,那麼是否有像C++中的set一樣的內置數據結構?
如果是,請解釋如何使用它,我還是在C++
首發。如果沒有,有沒有辦法來表示它(exept陣列,因爲我知道它)。
在此先感謝:)
我需要使用的德爾福套的優勢,如「在」 C++中的設置,如數據結構,但我不知道是否有像++套在C什麼是C++
我的數據結構知道我可以用一個數組來代替,但正如我所說的,我想使用像「in」這樣的set優勢,那麼是否有像C++中的set一樣的內置數據結構?
如果是,請解釋如何使用它,我還是在C++
首發。如果沒有,有沒有辦法來表示它(exept陣列,因爲我知道它)。
在此先感謝:)
有一個標準庫容器調用std::set
...我不知道德爾福,但在一套簡單的元素操作將通過使用find
方法及end
結果進行比較,來實現:
std::set<int> s;
s.insert(5);
if (s.find(5) != s.end()) {
// 5 is in the set
}
其他操作可以實現爲標準庫算法(std::union
,std::difference
...)
使用std::set
。請參閱http://www.cplusplus.com以供參考。
是的,有是一個C++ STL set
容器類DES第65頁。 Stroustrup的TC++ PL(Special Ed。)的491。
在C++中沒有任何類似的集成。根據您的需要,您可能希望使用位標誌和位操作或std::bitset標準容器(當然除了std :: set之外)。如果您使用的是C++ Builder,那麼還有一個模擬Delphi設置的類 - 在System.hpp中搜索BaseSet或SetBase或類似的東西 - 我不記得確切的名稱。
STL算法具有以下 From MSDN
set_difference 團結所有屬於一個排序源範圍中的元素,但不與第二排序源範圍,成一個單一的,分類目標範圍,其中排序標準可以由二元謂詞來指定。
set_intersection 團結所有同時屬於這兩個排序源的元件的範圍成一個單一的,分類目標範圍,其中,所述排序標準可以由二進制謂詞來指定。
set_symmetric_difference 團結所有屬於一個元件,而不是兩者的排序源範圍成一個單一的,分類目標範圍,其中,所述排序標準可以由二進制謂詞來指定。
set_union 團結所有屬於的兩個排序源的至少一個元素的範圍成一個單一的,分類目標範圍,其中,所述排序標準可以由二進制謂詞來指定。
[`std :: set`](http://www.sgi.com/tech/stl/set.html)是一個集合。你可以`#include`來獲得它。 –
birryree
2010-11-22 21:50:19
「set」及其本地運算符(in,+, - ,*)是Pascal(和Delphi)特有的。 C++使用模板實現了類似的功能,但是它們缺乏Pascal實現的優雅(儘管現在Pascal集限於255個元素) – 2010-11-22 22:31:59