深度理解STL之map set

2022-02-27 15:05:40 字數 1155 閱讀 1409

課程設計做了這個一直沒有整理(搬運

set算是關鍵字和相同的特殊map

set應該更加被強調理解為「集合」,而集合所涉及的操作並、交、差等,即stl提供的如交集set_intersection()、並集set_union()、差集set_difference()和對稱差集set_symmetric_difference(),都需要進行大量的比較工作,那麼使用底層是有序結構的紅黑樹就十分恰當了,這也是其相對hash結構的優勢所在。

map是在紅黑樹基礎上的hash map,即存在唯一關鍵字與鍵值對應,還有mutimap,這種更依靠hash演算法,原理相同,值得一提的是set是鍵值和值相同的set。maps 是一種關聯式容器,包含「關鍵字/值」對

map的基本操作函式

begin() 返回指向map頭部的迭代器

clear() 刪除所有元素

count() 返回指定元素出現的次數

empty() 如果map為空則返回true

end() 返回指向map末尾的迭代器

equal_range() 返回特殊條目的迭代器對

erase() 刪除乙個元素

find() 查詢乙個元素

get_allocator() 返回map的配置器

insert() 插入元素

key_comp() 返回比較元素key的函式

lower_bound() 返回鍵值》=給定元素的第乙個位置

upper_bound() 返回鍵值》給定元素的第乙個位置

max_size() 返回可以容納的最大元素個數

rbegin() 返回乙個指向map尾部的逆向迭代器

rend() 返回乙個指向map頭部的逆向迭代器

size() 返回map中元素的個數

swap() 交換兩個map

value_comp() 返回比較元素value的函式

STL入門級整理(map set)

在高中裡我們都學過函式的對映,大概都慢慢還給老師了。map大概講的就是對映關係。它所在的庫為 include,利用他能快速hash我們的資料。啊我是這麼理解的啦 在之前我們使用陣列,比如a 12 1 這其實就是一種對映關係,先不管位址不位址的問題,我們是不是可以理解為在12的位置對應的是1。a 15...

STL中map,set的基本用法示例

本文主要是使用了stl中德map和set兩個容器,使用了它們本身的一些功能函式 包括迭代器 介紹了它們的基本使用方式,是乙個使用熟悉的過程。map的基本使用 include stdafx.h include include include include includeusing namespace...

STL原始碼 map set與其他順序容器的一些比較

map的操作參考文章 c primer 學習筆記 35 stl實踐與分析 9 map型別 上 c primer 學習筆記 36 stl實踐與分析 10 map型別 下 map的特性 所有元素會按照元素的鍵值自動排序。map所有元素都是pair,第乙個元素視為鍵值,第二個元素視為實值 map不允許兩個...