当前位置: 首页 > article >正文

数据结构:队列queue和栈stack

1.queue

queue 是 C++ 标准库中的队列容器,基于先进先出(FIFO)的原则。队列适用于只允许从一端(队尾)添加元素、从另一端(队头)移除元素的场景。

常用操作示例:

#include <iostream>
#include <queue>
using namespace std;

int main() {

    queue<int> q;    // 初始化一个空的整型队列 q

    // 在队尾添加元素
    q.push(10);
    q.push(20);
    q.push(30);


    cout << q.empty() << endl;    // 检查队列是否为空,输出:false


    cout << q.size() << endl;    // 获取队列的大小,输出:3


    cout << q.front() << " " << q.back() << endl;    // 获取队列的队头和队尾元素,输出:10 和 30


    q.pop();    // 删除队头元素


    cout << q.front() << endl;    // 输出新的队头元素:20

    return 0;
}

2. 栈stack

stack 是 C++ 标准库中的栈容器

 栈(stack)是一种后进先出(LIFO)的数据结构,栈适用于只允许在一端(栈顶)添加或移除元素的场景。

常用操作示例:

#include <iostream>
#include <stack>
using namespace std;

int main() {


    stack<int> s;    // 初始化一个空的整型栈 s


    s.push(10);    // 向栈顶添加元素
    s.push(20);
    s.push(30);


    cout << s.empty() << endl;    // 检查栈是否为空,输出:false


    cout << s.size() << endl;    // 获取栈的大小,输出:3


    cout << s.top() << endl;    // 获取栈顶元素,输出:30


    s.pop();    // 删除栈顶元素


    cout << s.top() << endl;    // 输出新的栈顶元素:20

    return 0;
}

 


http://www.kler.cn/a/557150.html

相关文章:

  • UE5中按钮圆角,设置边框
  • CSDN如何设置付费专栏
  • [ TypeScript ] “undefined extends xxx“ 总是为 true 的 bug
  • 深入解析C++函数指针与指针函数:从原理到实战
  • bind()的概念和使用案例
  • USC安防平台之视频切片
  • 驱动的三个框架
  • 52类110个主流Java组件和框架
  • IEEE官方期刊缩写查询pdf分享
  • 蓝桥杯每日一题--第一周(包含五题)
  • EP零散笔记
  • 神经网络防“失忆“秘籍:弹性权重固化如何让AI学会“温故知新“
  • 泥沙输送的DEM-CFD耦合案例
  • Kubernetes控制平面组件:APIServer 基于 Webhook Toeken令牌 的认证机制详解
  • 广度优先搜索详解--BFS--蒟蒻的学习之路
  • 沃丰科技大模型标杆案例|周大福集团统一大模型智能服务中心建设实践
  • 蓝桥杯备赛-基础训练(三)哈希表 day15
  • 【论文阅读笔记】知识蒸馏:一项调查 | CVPR 2021 | 近万字翻译+解释
  • 垃圾回收知识点
  • 力扣-回溯-78 子集