【C++中STL】stack和queue容器

stack

基本概念

stack是一种先进后出的数据结构,它只有一个出口
栈中只有顶端的元素可以被外界使用,因此栈不允许由遍历行为
可以判断是否为空empty(),和统计个数size();
在这里插入图片描述

常用接口

1、stack<T> stk;采用模块类实现,stack对象的默认构造形式
2、stack(const stack &stk);拷贝构造函数
3、stack& operator=(const stack &stk);重载等号操作符
4、push(elem);向栈顶添加元素
5、pop();从栈顶移除第一个元素
6、top();返回栈顶元素
7、empty();判断堆栈是否为空
8、size();返回栈的大小

void test1() {
   
	stack<int> s;
	s.push(123);
	s.push(12);
	s.push(34);
	s.push(111);
	cout << "栈的大小:" << s.size()<<endl;
	if (!s.empty()) {
   
		cout << "栈顶元素:" << s.top() << endl;
		s.pop();
	}
}

quque

基本概念

先进先出的数据结构,有两个出口
队列容器允许从一个口入队push新增元素,从另一个口出队pop移除元素
只有队头和队尾能被外界访问,不允许有遍历行为
在这里插入图片描述

常用接口

1、queue<T> que;采用模块类实现,queue对象的默认构造形式
2、queue(const queue &que);拷贝构造函数
3、queue& operator=(const queue &que);重载等号操作符
4、push(elem);向队尾添加元素
5、pop();从队头移除第一个元素
6、back();返回最后一个元素
7、empty();判断堆栈是否为空
8、size();返回栈的大小
9、front();返回第一个元素

void test1() {
   
	queue<int> q;
	q.push(123);
	q.push(50);
	q.push(34);
	q.push(111);
	cout << "队的大小:" << q.size()<<endl;
	if (!q.empty()) {
   
		cout << "最后一个元素:" << q.back() << endl;
		cout << "第一个元素:" << q.front() << endl;
		q.pop();
	}
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-27 20:56:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-27 20:56:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-27 20:56:01       82 阅读
  4. Python语言-面向对象

    2024-01-27 20:56:01       91 阅读

热门阅读

  1. Excel VBA ——从MySQL数据库中导出一个报表-笔记

    2024-01-27 20:56:01       64 阅读
  2. Android 13.0 SystemUI下拉状态栏禁止QuickQSPanel展开

    2024-01-27 20:56:01       61 阅读
  3. 前端常用的时间格式处理

    2024-01-27 20:56:01       41 阅读
  4. 简单计算器

    2024-01-27 20:56:01       55 阅读
  5. 【算法专题】动态规划之子序列问题

    2024-01-27 20:56:01       48 阅读
  6. 《微信小程序开发从入门到实战》学习九十四

    2024-01-27 20:56:01       61 阅读
  7. Spring Security Reactive

    2024-01-27 20:56:01       53 阅读
  8. 【Ubuntu】windows离线安装WSL2

    2024-01-27 20:56:01       51 阅读
  9. 讲清楚浅拷贝和深拷贝

    2024-01-27 20:56:01       64 阅读