c++之栈和队列

1.stack容器       stack ,栈(堆栈),是一种先进后出(first in last out,filo)的数据结构,先插入的数据在栈底,后放入的数据在栈顶,所有的数据只能从栈顶取出。
     在生活中先进后出的例子友很多,例如我们在桌子上摞书,先放的在最下面,后放的在最上面。在取书的时候也是先取最后放的,最才能取到第一个放的。
    在栈容器中,只有栈顶数据才可以被外界访问,因此stack不存在遍历。
2.栈容器使用示例   stack(栈)容器特性:       先进后出(后进先出) --类似与往袋子中装东西,先放进去的在最下面,最后放进行的可以先拿出来;第一个放进去的 --->栈底
      最后一个放进的 --->栈顶
      stack只允许从栈顶取数据
     stack容器无法对数据进行排序sort,但可以判断容器是否为空empty,可以计算元素的个数size;
相关函数:stack构造函数: stack stk; //默认构造 stack(const stack &p);//拷贝构造stack赋值 operator=() --运算符号重载stack入栈与出栈: push() -- >入栈 emplace() -- >入栈(在容器尾部插入元素) pop() --- >出栈 top() -- >查看栈顶元素 empty() -- >判断容器是否为空 size() -- >获取元素个数 swap -- >交换元素 使用示例:
#include #include using namespace std;void test(){ //创建一个stack容器 stack stk; //入栈 stk.push(10); stk.push(20); stk.push(30); stk.push(40); stk.emplace(100); stackstk3(stk);//拷贝构造 cout < < stk元素个数: < < stk.size() < < endl; //查看stk元素 while (!stk.empty()) { cout < < stk.top() < < ;//查看栈顶元素 stk.pop();//出栈 } cout < < endl; stackstk2 = stk;//赋值 if (stk2.empty()) { cout < < stk2为空 < < endl; } //入栈 stk2.push(111); stk2.push(222); stk2.swap(stk3); //查看stk2元素 cout < < skt2栈内容: < < endl; while (!stk2.empty()) { cout < < stk2.top() < < ;//查看栈顶元素 stk2.pop();//出栈 } cout < < endl; //查看stk3元素 cout < < skt3栈内容: < < endl; while (!stk3.empty()) { cout < < stk3.top() < < ;//查看栈顶元素 stk3.pop();//出栈 } cout < 运算符重载相关成功函数: 入队:push() 出队:pop()获取队列头数据:front();获取队列尾数据:back();判断队列是否为空:empty();获取队列中元素个数:size();互换元素:swap();       使用示例:
#include #include using namespace std;void test(){ queue q; //入队 q.push(10); q.push(20); q.push(30); q.emplace(40);//从队列尾插入数据 cout < < 队列中成员个数: < < q.size() < < endl; while (!q.empty())//判断队列是否为空 { cout < < 队列头: < < q.front() < < t队列尾: < < q.back() < < endl; q.pop();//出队 } cout < < 队列中成员个数: < < q.size() < < endl; }int main(){ test(); system(pause);}
基于ISO100的光电隔离放大器电路
红米Note5A什么时候上市?红米Note5A最新消息:红米Note5A新证件照曝光,双版本+高性价比
安森美半导体采用 LC823455 音频语音触发智能扬声器方案
荣耀X50 GT发布,满帧战神引擎造就越级性能体验
工业机器人精密减速器传动效率试验
c++之栈和队列
cob显示屏如何维修
什么是电流互感器_电流互感器有什么作用
如何用DeFi来避免加密世界的金融危机
HDMI自动切换器相比普通HDMI切换器的不同特点
SELinux基本概念介绍
魅族Flyme 9新系统版本内容分享
魅蓝X侧目!这款国产手机,外观配置更劲爆!
2023世界互联网大会乌镇开幕 建设包容、普惠、有韧性的数字世界
一款可在中红外波段运行的分子传感器
华为智慧屏 S系列“常用常新”颠覆升级体验
超干货解读胶囊网络
火箭弹自动测试仪的设计方案介绍
小型和受限嵌入式系统的固件验证
无功电流检测方法对比分析