C++的stack和queue

您所在的位置:网站首页 list去除另一个list元素 C++的stack和queue

C++的stack和queue

#C++的stack和queue| 来源: 网络整理| 查看: 265

stack和queue 1.stackstack的模拟实现 2.queuequeue的模拟实现 3.容器适配器3.1. 什么是容器适配器3.2. STL标准库中stack和queue的底层结构3.3. deque的简单介绍3.3.1. deque原理介绍3.3.2. deque的缺陷3.3.3. 为什么选择deque作为stack和queue的底层默认容器

1.stack

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

stack的模拟实现

从栈的接口中可以看出,栈实际是一种特殊的vector,因此使用vector完全可以模拟实现stack。

#pragma once #include namespace zxj { //template //template template class stack { public: void push(T val) { _con.push_back(val); } void pop() { _con.pop_back(); } T& top() { return _con.back(); } const T& top()const { return _con.back(); } size_t size() { return _con.size(); } bool empty() { return _con.empty(); } private: Container _con; }; void TestStack() { stackst; st.push(1); st.push(2); st.push(3); st.push(4); while (!st.empty()) { cout public: void push(T val) { _con.push_back(val); } void pop() { _con.pop_front(); } T& back() { return _con.back(); } const T& back()const { return _con.back(); } T& front() { return _con.front(); } const T& front()const { return _con.front(); } size_t size() { return _con.size(); } bool empty() { return _con.empty(); } private: Container _con; }; void TestQueue() { queuest; st.push(1); st.push(2); st.push(3); st.push(4); while (!st.empty()) { cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3