数据结构:队列queue和栈stack

news/2025/2/23 18:10:34

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.niftyadmin.cn/n/5863657.html

相关文章

【好玩的工具和命令】 ASCII 艺术生成工具: figlet

figlet 是一款用于生成 ASCII 艺术文字的工具&#xff0c;支持多种字体样式。它能将输入的文本转换为由字符组成的大型字母图案&#xff0c;广泛应用于命令行环境下的标题展示或装饰。 核心功能 生成 ASCII 文字艺术&#xff1a;将普通文本转化为大号的、由字符构成的艺术字…

[Java基础]网络编程

介绍 可以让设备中的程序与网络上其他设备中的程序进行数据交互的技术(实现网络通信)。 网络通信架构 CS架构: Client客户端 / Server服务端 客户端需要程序员开发,需要用户安装服务端需要程序员开发 BS架构: Browser浏览器 / Server服务端 用户下载安装浏览器就行服务器需要…

数据表的存储过程和函数介绍

文章目录 一、概述二、创建存储过程三、在创建过程中使用变量四、光标的使用五、流程控制的使用六、查看和删除存储过程 一、概述 存储过程和函数是在数据库中定义的一些SQL语句的集合&#xff0c;然后直接调用这些存储过程和函数来执行已经定义好的SQL语句。存储过程和函数可…

周末总结(2024/02/22)

工作 人际关系核心实践&#xff1a; 要学会随时回应别人的善意&#xff0c;执行时间控制在5分钟以内 坚持每天早会打招呼 遇到接不住的话题时拉低自己&#xff0c;抬高别人(无阴阳气息) 朋友圈点赞控制在5min以内&#xff0c;职场社交不要放在5min以外 职场的人际关系在面对利…

Java IO 和 NIO 的基本概念和 API

一、 Java IO (Blocking IO) 基本概念&#xff1a; Java IO 是 Java 平台提供的用于进行输入和输出操作的 API。Java IO 基于 流 (Stream) 的模型&#xff0c;数据像水流一样从一个地方流向另一个地方。Java IO 主要是 阻塞式 I/O (Blocking I/O)&#xff0c;即线程在执行 I/O …

牛客练习赛134 —— B题 python 补题 + 题解

牛客练习赛134 B 题目描述 示例输入&#xff1a; 1 5 1 2 4 5 6 2 5 4 6 9示例输出&#xff1a; 32解题思路&#xff1a; 题目大意 给定一个2行n列的矩阵&#xff0c;允许交换两列一次&#xff0c;从左上角(1,1)走到右下角(2,n)&#xff0c;每一步只能向右或向下移动&#x…

RT-Thread+STM32L475VET6——icm20608传感器

文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行配置1.1 使用外部高速时钟&#xff0c;并修改时钟树1.2 打开I2C3&#xff0c;参数默认即可(I2C根据自己需求调整&#xff09;1.3 打开串口1.4 生成工程 2. 添加icm20608软件包3. 使能传感器&#xff0c;打开动态链接库4.…

力扣LeetCode: 2506 统计相似字符串对的数目

题目&#xff1a; 给你一个下标从 0 开始的字符串数组 words 。 如果两个字符串由相同的字符组成&#xff0c;则认为这两个字符串 相似 。 例如&#xff0c;"abca" 和 "cba" 相似&#xff0c;因为它们都由字符 a、b、c 组成。然而&#xff0c;"aba…