【C++第三阶段】stack&queue容器

以下内容仅为当前认识,可能有不足之处,欢迎讨论!


文章目录


stack容器

是什么?功能是什么?常用接口是什么?局限性有哪些?优势又有哪些?

栈容器,先进后出,后进先出。

不允许遍历

接口:

目的 函数
构造函数 stack <T> stk;
拷贝构造函数 stack(const stack &stk);
赋值操作 stack& operator=(const stack &stk);
入栈 push(elem);
出栈 pop();
返回栈顶元素 top();
判断容器是否为空 empty();
返回元素个数 size();

示例代码:

void test0411a() {
	stack<int> stk;
	for (int i = 0; i < 4; i++) {
		stk.push(i * 2);
	}
	stack<int> stk2 = stk;

	cout << "访问栈顶元素" << endl;
	cout << stk.top() << endl;

	cout << "弹出栈内的"<<stk.size()<<"个元素" << endl;
	for (int i = 0; i < 4; i++) {
		cout << "弹出" << stk.top() << "." << endl;
		stk.pop();
	}
	//stk.pop();

	cout << "栈是否为空?" << endl;
	cout << stk.empty() << endl;

	
}

运行界面:

image-20240411204107208

queue容器

是什么?功能是什么?常用接口是什么?局限性有哪些?优势又有哪些?

队列容器,就是先进先出,后进后出。

image-20240411204228106

常用接口:

目的 函数
构造函数 queue<T> que;
拷贝构造函数 queue(const queue &que);
赋值操作 queue& operator=(const queue &que);
队尾入队 push(elem);
队头出队 pop();
访问队头 front();
访问队尾 back();
查看是否为空? empty();
队列元素个数 size();

代码示例:

void test0411b() {
	queue<int> que;
	for (int i = 0; i < 4; i++) {
		que.push(i * 2 - 1);
	}
	queue<int> que2 = que;
	cout << "赋值后que元素个数:" << que.size() << endl;
	cout << "赋值后que2元素个数:" << que2.size() << endl;

	cout << "队头元素访问:" << que.front() << endl;
	cout << "队尾元素访问:" << que.back() << endl;

	cout << "删除所有元素" << endl;
	for (int i = 0; i < 4; i++) {
		que.pop();
	}
	cout << "队列元素是否为空?" << endl;
	cout << que.empty() << endl;


}

运行结果:

image-20240411205735290


以上是我的学习笔记,希望对你有所帮助!
如有不当之处欢迎指出!谢谢!

学吧,学无止境,太深了

相关推荐

  1. 云计算运维 · 阶段 · git

    2024-04-12 11:44:05       41 阅读
  2. [C++提高编程]():STL-string容器

    2024-04-12 11:44:05       47 阅读

最近更新

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

    2024-04-12 11:44:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 11:44:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 11:44:05       82 阅读
  4. Python语言-面向对象

    2024-04-12 11:44:05       91 阅读

热门阅读

  1. ARM 三个小灯闪烁

    2024-04-12 11:44:05       38 阅读
  2. 如何防重复提交?(前端验证、后端验证)

    2024-04-12 11:44:05       43 阅读
  3. 实用工具系列-git常用命令

    2024-04-12 11:44:05       59 阅读
  4. LeetCode //C - 1539. Kth Missing Positive Number

    2024-04-12 11:44:05       301 阅读
  5. 一个简单的对称加密算法

    2024-04-12 11:44:05       37 阅读
  6. C++ Primer Plus(第6版) 中文版 第七章编程练习

    2024-04-12 11:44:05       42 阅读
  7. 0基础刷图论最短路 1(从ATcoder 0分到1800分)

    2024-04-12 11:44:05       36 阅读
  8. 关于conda安装pytorch gpu总是会自动变成cpu版本

    2024-04-12 11:44:05       41 阅读
  9. 时间戳与时间锁区别与联系

    2024-04-12 11:44:05       48 阅读
  10. 【数据结构】2.包装类&简单认识泛型

    2024-04-12 11:44:05       39 阅读
  11. 【备忘】npm yarn pnpm 命令对比

    2024-04-12 11:44:05       43 阅读
  12. Spring Boot 经典面试题(三)

    2024-04-12 11:44:05       36 阅读
  13. 4.11Qt

    4.11Qt

    2024-04-12 11:44:05      42 阅读