1.STL的誕生:
1.軟體界希望建立一種可重復利用的東西
2.C++的面向物件和泛型編程思想,目的就是復用性的提升
3.為了建立資料結構和演算法的一套標準
2.STL的基本概念
1.STL(Standard Template Library,標準模板庫)
2.STL從廣義上分為:容器,演算法,迭代器
3.容器和演算法之間通過迭代器進行無縫連接
4.STL幾乎所有的代碼都采用了模板類或模板函式
3.STL六大組件
容器(如vector,list,deque,set,map等),演算法(如sort,find,copy,for_each),迭代器,仿函式,配接器,空間配置器
4.STL中容器、演算法、迭代器
容器
分為序列式式容器和關聯式容器
序列式容器:強調值的排序,序列式容器中的每個元素都有固定的位置,
關聯式容器:二叉樹結構,各元素之間沒有嚴格的物理上的順序關系,
做個簡單的通俗易懂的例子:
假如想要在容器記憶體入1 3 5 4 2的資料元素,如果存入在序列式容器中,則類似于陣列,且順序不變;但是放在關聯式容器中,則會自動排序成1 2 3 4 5,
演算法
分為質變演算法和非質變演算法
質變演算法:例如拷貝,替換,洗掉
非質變演算法:例如查找,計數,遍歷,尋找極值
迭代器
提供一種方法,使之能夠依序尋訪某個容器的各個元素,每個容器都有自己專屬的迭代器,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/275881.html
標籤:其他
下一篇:牛客網 堆疊的壓入,彈出序列
