C 之STL(簡述)(藍橋杯備戰)

2021-09-10 03:51:06 字數 960 閱讀 3142

2023年是我第一次參加藍橋杯比賽。

在2023年的藍橋杯中,我選擇了c/c++b組的比賽。

在c++組的比賽中,stl是被允許使用的。而且在一些時候可以簡化**長度,提高**效率。但在之前的學習中,我們並沒有對stl有什麼接觸,因此專門抽出一段時間對stl進行學習。

由於本次是專門針對藍橋杯對stl進行學習,因此在很多方面對stl不會進行深入的研究,只會要求在比賽中能夠在api文件的幫助下可以熟練使用即可。

是容納、包含相同型別元素的物件,主要用類模板實現

序列型容器:容器中的元素按照線性結構組織起來,可以逐個讀寫元素。主要包括vector(向量)、deque(雙端佇列)、list(雙向鍊錶)。

關聯型容器:通過鍵(key)儲存和讀取元素。主要有map(對映)、set(集合)等。

容器介面卡:是對前面提到的某些容器進行再包裝,使其變成另一種容器。主要的有stack(棧)、queue(佇列)等。

是用於確定元素位置的資料型別,可以用來遍歷容器中的元素

通過迭代器可以讀取、修改它指向的元素,它的用法和指標類似。

每一種容器都定義了一種迭代器

定義乙個容器類的迭代器的方法可以是

容器類名《元素型別》::iterator 變數名

vector::iterator  it;
訪問乙個迭代器指向的元素:

*迭代器變數名

*it=5;
由許多函式模板組合成的集合,實現了大量的通用演算法,用於操縱各種容器

stl中提供的演算法涉及到:比較、交換、查詢、遍歷、複製、修改、移除、反轉、排序、合併等。大約有70中標準演算法

演算法通過迭代器來操縱容器中的元素

演算法可以處理容器,也可以處理c語言陣列

C 之STL(關聯型容器概覽)(藍橋杯備戰)

stl提供了四個關聯型容器,包括 map 對映 multimap 多重對映 set 集合 multiset 多重集合 map multimap的元素由 key,value 二元組構成,其中鍵必須是唯一的 set multiset 相當於叧有鍵 key 沒有對應值 value 的 map 和mulit...

C 之STL(容器介面卡概覽)(藍橋杯備戰)

容器介面卡將其他容器加以包裝 改造,變成新的容器。實質上是一種受限容器 典型的容器介面卡包括 stack queue 程式設計時加入下列語句 include 棧常用的函式有 push elem 將元素elem入棧 pop 棧頂元素出棧 top 求棧頂元素 empty 判斷棧是否空 size 求棧內元...

藍橋杯備戰(1)STL專題

sort函式 標頭檔案 include使用方法 sort first,last,cmp first是元素的起始位置,last是元素的結束位址,cmp是排序方式。如果寫cmp,那麼預設為從小到大排序 bool cmp int a,int b return b這時系統預設a b,輸出true,式子是從大...