set集合 結構體 c ,set,map的理解

2021-10-14 13:12:53 字數 882 閱讀 9011

什麼是set,map,

set map的原理是什麼?

set map使用的場景

set:set是乙個使用紅黑樹的平衡二叉樹結構的集合容器,平衡二叉樹主要是查詢方便快捷,使用的是中序遍歷演算法進行計算,可以將鍵位以小到大除錯出來。

//中序遍歷:中序遍歷首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。若二叉樹為空則結束返回,否則:

(1)中序遍歷左子樹

(2)訪問根結點

(3)中序遍歷右子樹

如右圖所示二叉樹,中序遍歷結果:dbeafc

樹節點的結構體;

typedef struct treenode treenode;

void middle_order(treenode *node)

}所以set的原理::

就是乙個類似仿函式的類(用於判定是否重複,如果重複就返回0,不操作),乙個指向結構體的指標,

還有插入類,查詢類,刪除類,

;他是key鍵跟value值相同的函式,map則是key與值不相同,所一可以進行對應,同時set內部執行的是複雜的結構體,他的key指向key的指標都是const 都是受保護的,所以他不能被刪除,同時他會將不規則的內部結構體進行轉變:形成乙個平衡二叉樹

注釋:書寫方法:pair型別

typename pair _res;

cout<<_res>_res r=make_pair<1,10>

cout《使用的的場景:多用於查詢,插入,由於他的紅黑樹的結構比較穩定,插入刪除速度塊。

明天任務:

拷貝建構函式:移動建構函式,移動賦值運算子,拷貝構造、建立乙個新類如何實現等

集合 C 資料結構 集合 set

工作也不想做,部落格也不想寫qaq又是乙個難熬的下午 這個月的leetcode每日一題落下了好多,主要是動態規劃我真不會,看題解基本也想不明白,dp我的一生之敵 x x 這裡要介紹一下順序容器和關聯容器的區別。順序容器就是按照元素在容器中的位置,來進行儲存和訪問,例如vector deque lis...

資料結構 單列集合 List集合 Set集合

1 陣列特點 查詢快 位址是連續的,通過首位址可以找到陣列,通過索引 可以快速查詢某個元素 增刪慢 陣列的長度是固定的,要增刪某個元素,必須重新建立乙個陣列,把資料複製過來 2 arraylist特點 底層也是使用陣列實現,兼具陣列的特點 3 linkedlist特點 底層是鍊錶結構 增刪快 因為如...

C 裡面set儲存結構體

官方題解也超時了。主要是看看set裡面儲存結構體的方法吧 using pii pair class solution unordered set seen 0 hash function while stk.empty seen.emplace stk.top auto remain x,remai...