關聯容器set map的使用

2021-09-26 03:12:01 字數 1306 閱讀 2372

關聯容器是stl容器的另一組成部分,關聯容器的底層是紅黑樹,容器會根據值進行自動調整排序。

map與set的底層資料結構決定了他們不會有重複的元素,set.count()函式返回的結果只能整數 0 或 1,1表示有這個元素,0表示沒有這個元素;

與其功能相似的還有函式find(),find()函式返回值是乙個迭代器,成功返回迭代器指向所查詢的元素,失敗返回迭代器指向end

templatevoid show(container& con)

std::cout << std::endl;

}int main()

; int arr2 = ;

int len1 = sizeof(arr1) / sizeof(arr1[0]);

int len2 = sizeof(arr2) / sizeof(arr2[0]);

std::setmyset(arr1, arr1 + len1); //插入arr1

show(myset);

myset.insert(10); // 插入10

show(myset);

myset.insert(arr2, arr2 + len2); // 插入arr2

show(myset);

myset.erase(1);//刪除1

show(myset);

函式的使用

std::set::iterator fit = std::find(myset.begin(), myset.end(), 10);

std::set::iterator fit1 = myset.find(23);//o(log2 n)

std::cout << *fit << std::endl;

std::cout << *fit1 << std::endl;

函式的使用

int count = myset.count(11); //統計11

std::cout << count << std::endl;

myset.erase(11); //刪除11後統計11

count = myset.count(11);

std::cout << count << std::endl;

return 0;

}

講完了set就輪到map了,map是乙個鍵值對,每個鍵都有乙個值與之相對應。

int main()

std::map::iterator fit = mymap.find(1);//基於key查詢

return 0;

}

關聯容器 set map

有序關聯容器 基於乙個序標準 預設是 進行查詢。這類容器用平衡二叉樹實現,通常是紅黑樹。無需關聯容器 基於乙個雜湊函式進行查詢。這類容器用雜湊表實現,採用溢位鍊錶策略。兩類容器都支援 map set 不帶值的map,或者說關鍵字就是值。初始化 map locations 基本操作 v c k v c...

關聯式容器 set,map的使用與辨別。

int array 9 set int s array,array sizeof array array int 用陣列對set進行初始化。for auto it s.begin it s.end it cout it cout endl for auto e s cout endl std set...

STL之關聯式容器set map

1.管理元素集合的stl容器大致分為兩類,序列式容器 有順序的集合 和關聯式容器 經過排序的集合 2.關聯式容器再管理資料的過程中會自動給元素排序。其優點在於可以隨時採用二分搜尋法,搜尋元素的效率極高。1.set是根據元素值進行排序的集合,所插入的元素在集合中唯一,不存在重複元素。1.include...