STL C 標準模板庫

2021-10-24 17:36:24 字數 1245 閱讀 9416

軟體界的需求:

1、建立一種可重複利用的東西

2、建立一套資料結構與演算法的標準

——c++的物件導向與泛型程式設計思想,目的是提公升**的復用性。

——stl,是c++為建立資料結構和演算法的一套標準。

stl(標準模板庫)

從廣義上分為:容器(container)、演算法(algorithm)和迭代器(iterator)

容器演算法之間通過迭代器進行無縫連線

stl幾乎所有的**都採用模板類或者模板函式

stl六大元件:容器、演算法、迭代器、仿函式、介面卡(配接器)、空間配置器

1、容器:各種資料結構,如vector、list、deque、set、map等,用來存放資料

2、演算法:各種常用演算法,如sort、find、copy、for_each等

3、迭代器:容器與演算法之間的膠合劑

4、仿函式:行為了類似函式,可作為演算法的某種策略

5、介面卡:一種可以用來修飾容器或者仿函式或迭代器介面的東西

6、空間支配器:負責空間的配置和管理

容器:置物之器也

stl容器封裝一些廣泛應用的資料結構。常用的資料結構有:陣列、鍊錶、樹、棧、佇列、集合、對映表等

容器分為兩種:序列式容器和關聯式容器

序列式容器:強調值的排序,序列式容器中的每乙個元素均有固定的位置

關聯式容器:二叉樹結構,各個元素之間沒有嚴格的物理上的順序關係。  

演算法:問題之解法也

演算法分類:質變演算法和非質變演算法

質變演算法:演算法在運算的過程中會更改區間的元素的內容。如拷貝、替換、刪除等等

非質變演算法:與質變演算法相反。例如查詢、計數、遍歷、尋找極值等等

迭代器:容器和演算法之間的粘合劑 

每個容器都有自己的專屬迭代器。迭代器類似指標

迭代器的種類:輸入迭代器、輸出迭代器、前向迭代器、雙向迭代器、隨機訪問迭代器

輸入迭代器:對資料的唯讀的訪問

輸出迭代器:對資料的只寫訪問

前向迭代器:讀寫操作,並能向前推進迭代器

雙向迭代器:讀寫操作,並能向前和向後操作

隨機訪問迭代器:讀寫操作,可以跳躍的方式 訪問任意資料,功能最強的迭代器

STL C 標準模板庫 deque(佇列)

03 deque成員函式表及示例 04 小結 2.1 簡介 c 佇列 deque 是一種容器介面卡,它給予程式設計師一種先進先出 fifo 的資料結構。deque 發音類似 deck 是雙端佇列不規則的首字母縮寫,雙端佇列是動態大小的序列式容器,其可 以像兩端進行伸縮。特定的庫可以以不同的方式實現d...

運算子的過載與STL(C 標準模板

在程式設計過程中,有時候一些運算子的功能已不能滿足我們的需要,這個時候,我們就可以根據自己的需要過載運算子,新增或改變該運算子的功能。在c 中大部分運算子都可以過載,但仍有幾個桀驁不馴的傢伙。例如 sizeof 當然,運算子的過載也要有一定的 潛規則 不可能讓你亂來。以下便是運算子過載的限制條件 1...

標準模板庫( ) 介紹標準模板庫

標準模板庫就是類與函式模板的大集合。stl共有6種元件 容器,容器介面卡,迭代器,演算法,函式物件和函式介面卡。1 容器 容器是用來儲存和組織其他物件的物件。stl容器類的模板在標準標頭檔案中定義。1 序列容器是上面圖中的前三類 容器的操作 2 deque容器 非常類似vector,且支援相同的操作...