STL略談 1 stack實現

2021-05-23 04:38:05 字數 701 閱讀 1295

最近幾天在看

stl原始碼,個人感覺如果不自己實現下

stl簡單的架構是很難對

stl有乙個比較系統的了解。所以在閱讀的同時,自己也開始寫寫原始碼。

一開始從

list

容器入手,因為之前對

list

有一定的了解,實現起來也比較輕鬆。但是涉及到迭代器等資料結構的時候,很難將其與

list

聯絡起來。在看《深入剖析

stl原始碼》的時候,作者將迭代器分開申明,所以感覺如果這樣申明

list::iterator ***

,怎麼能夠用

::操作符呢?後來直接看

vs include

裡面的原始碼發現,

iterator

是在list

類裡面申明的,頓時豁然開朗。

其實也不能說是對

stl有很深入的了解,只是通過自己的實現有自己的一些看法,所以寫點東西和大家分享下。希望大家矯正,在大家指點中學習是我最喜歡的~~

還是從最簡單的開始吧,

stack

的實現是沒有迭代器的,因為它只能取最頂層的元素,不支援線性訪問。之後再慢慢整理複雜點的比如

list

、deque等。

下面是源**:

這是在csdn裡面的第一篇博文,寫的很簡單,完全只是在stl的邊緣遊蕩了一下。之後再將比較複雜點的實現分享出來。

STL學習 入門(1) stack

include stack template classt,class container deque t class stack 棧 stack 是乙個容器介面卡 container adaptor 型別,被特別設計用來執行於lifo last in first out 場景,在該場景中,只能從容...

C 容器簡介1 stack

引用鏈結stack是一種容器介面卡 stl的容器分為順序容器和關聯容器,容器介面卡 被設計來用於操作先進後出 filo 結構的情景,在這種情況下,元素的插入和刪除都只能在容器的尾部進行。stack通過容器介面卡來實現,是一種將特定的容器類作為其最底層的容器的類,它提供了一些特定的成員函式來訪問自己的...

我的C 實踐 1 Stack的實現

1 基本的stack 以std deque為內部容器。方法有入棧 出棧 返回棧頂元 判斷棧空。測試程式 2 改進1 指定棧的容量,要用到非型別模板引數。由於棧的容量固定,可以用陣列來存放元素。測試程式 3 改進2 可以指定棧內部使用的容器,還可以使 不同型別的棧之間能賦值。要用到模板模板引數。要定義...