C++ STL中Queue和Stack的用法

Queue(队列)

定义和创建

队列(Queue)是一种先进先出(FIFO)的数据结构,在C++的STL中由queue模板类实现。可以通过以下方式定义和创建一个队列:

#include <queue>

std::queue<int> myQueue; // 创建一个整数类型的队列

初始化

可以通过以下方式初始化一个队列:

std::queue<int> myQueue; // 创建一个空队列

std::queue<int> myQueueWithElements({1, 2, 3}); // 创建一个包含元素的队列

成员函数

  1. push(val): 将元素压入队列尾部。
  2. pop(): 弹出队列头部的元素。
  3. front(): 获取队列头部的元素,但不移除。
  4. back(): 获取队列尾部的元素,但不移除。
  5. empty(): 判断队列是否为空。
  6. size(): 获取队列中元素的数量。

示例

std::queue<int> myQueue;
myQueue.push(1);
myQueue.push(2);
myQueue.push(3);

std::cout << "Front element: " << myQueue.front() << std::endl; // 输出 1
std::cout << "Back element: " << myQueue.back() << std::endl; // 输出 3

myQueue.pop(); // 弹出队列头部的元素

std::cout << "Size of queue: " << myQueue.size() << std::endl; // 输出 2

Stack(栈)

定义和创建

栈(Stack)是一种后进先出(LIFO)的数据结构,在C++的STL中由stack模板类实现。可以通过以下方式定义和创建一个栈:

#include <stack>

std::stack<int> myStack; // 创建一个整数类型的栈

初始化

可以通过以下方式初始化一个栈:

std::stack<int> myStack; // 创建一个空栈

std::stack<int> myStackWithElements({1, 2, 3}); // 创建一个包含元素的栈

成员函数

  1. push(val): 将元素压入栈顶。
  2. pop(): 弹出栈顶的元素。
  3. top(): 获取栈顶的元素,但不移除。
  4. empty(): 判断栈是否为空。
  5. size(): 获取栈中元素的数量。

示例

std::stack<int> myStack;
myStack.push(1);
myStack.push(2);
myStack.push(3);

std::cout << "Top element: " << myStack.top() << std::endl; // 输出 3

myStack.pop(); // 弹出栈顶的元素

std::cout << "Size of stack: " << myStack.size() << std::endl; // 输出 2

水平有限,有问题随时联系~

相关推荐

  1. C++ STLQueueStack

    2024-04-08 16:04:03       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-08 16:04:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-08 16:04:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-08 16:04:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-08 16:04:03       18 阅读

热门阅读

  1. ElasticSearch 常用查询优化方式

    2024-04-08 16:04:03       11 阅读
  2. Nginx基础(03)

    2024-04-08 16:04:03       13 阅读
  3. 顺序表(C语言)

    2024-04-08 16:04:03       11 阅读
  4. 室内设计专业MR混合现实情景实训教学系统应用

    2024-04-08 16:04:03       11 阅读
  5. 渗透测试漏洞之XSS漏洞

    2024-04-08 16:04:03       8 阅读
  6. Electron 是一个流行的框架

    2024-04-08 16:04:03       12 阅读
  7. 冶炼金属 二分法 十四届蓝桥杯省赛真题B组

    2024-04-08 16:04:03       15 阅读
  8. PostgreSQL Systemctl启动设置

    2024-04-08 16:04:03       13 阅读