-
標頭檔案包括:
#include
#include
設定函式:sets1、s2;
插入元素 1
插入元素 2
set::iterator site;迭代器,使用方式與向量相同
setsi;
setvis
set intersection( ,inserter( si, si 是交集之後的集合。
set_union(..而且,語法與上述相同。
set_difference(..差,語法同上。
從設定的容器中刪除所有元素。
返回中值為 s 的可見號數。
if( 確定 s 是否在集合 vis 中。
返回 s 的位置,如果找不到,則返回 end(),即 vis,(s)== 將 s 新增到集合中。
從集合中刪除 s
輸出:set::iterator ii;
for(ii=;ii!=;ii++)
cout<<(ii)<<' ';
-
建議使用不允許複製的 std::set--element 或允許複製的 std::multiset-element。 這兩個集合都非常有效。
*使用示例:
std::setmyset;
int a,b,c,d;
a=1;a=2;
a=3;a=4;;;
erase()、find() 和 size() 是刪除、查詢和查詢元素數量的函式。
你可能會問,為什麼不直接使用陣列呢? std::set 陣列的最大優點是集合中的元素按鍵值排序。
如果 std::set 遇到重複的鍵值,則只儲存乙個值; 而 std::multiset 允許重複元素並存。
-
按照您的意願編寫 C++ 程式,並使用 n 個元素捨入集合的所有子集的列印,如下所示(參見圖吳鵬翔)。
-
使用遞迴 Ying Xun 獲取乙個集合的所有子集,其中包含 n 個元素(C++ 實現)**主題簡要說明:例如,有乙個集合,找到它的所有子集分析:其實這是乙個排列組合的問題; 每個元素的存在用 0,1 表示,它是 0,1 的排列,並將其放在乙個陣列中,可以遞迴實現。
發現這個問題後還沒研究過怎麼選擇,不知道richTextBox能不能實現,如果只是搜尋應該不難。