棧
棧提供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;