天天看點

棧與隊列在SGI STL的底層實作

棧提供push和pop等接口,不提供走訪功能,也不提供疊代器。

STL中棧不被歸類為容器,而被歸類為container adapter(容器擴充卡),這是因為棧是以底層容器完成其所有的工作,對外提供統一的接口,底層容器是可以插拔的(也就是說我們可以控制使用哪種容器來實作棧的功能)。

SGI STL棧的底層實作是用雙向隊列deque實作的。

當然也指定可以vector為棧的底層實作:

std::stack<int,std::vector<int>> st;      

隊列

STL中隊列也不被歸類為容器,而被歸類為container adapter(容器擴充卡)。

std::queue<int,std::list<int>> que;