stack,queue,deque的使用

news2024/11/17 15:53:47

1.stack是后进先出的,这也影响其对应的接口,所能实现的功能也有限,其中主要的功能如下:
 

void test_stack1()
{
	stack<int> st;
	st.push(1);
	st.push(2);
	st.push(3);
	st.push(4);
	st.push(5);
	st.push(6);

	while (!st.empty())
	{
		cout << st.top() << " ";
		st.pop();
	}

}

其分别为入栈,出栈,取栈顶元素,判断栈是否为空。

2.queue队列对应的是先进先出,同时也影响对应的接口,其主要功能如下:

void test_queue1()
{
	queue<int> q;
	q.push(1);
	q.push(2);
	q.push(3);
	q.push(4);
	q.push(5);
	q.push(6);
	q.push(7);

	while (!q.empty())
	{
		cout << q.front() << " ";
		q.pop();
	}

}

3.deque结合了stack和queue还有vector,他们的接口在deque上都有体现,但其实没必要,这么

做只会是deque的实现更繁琐,具体的接口如下:

功能只有重点实现:

//vector,stack和queue的结合体
void test_deque1()
{
	deque<int> dq;
	dq.push_back(1);
	dq.push_back(2);
	dq.push_back(3);
	dq.push_back(4);
	dq.push_back(5);
	dq.push_back(6);

	for (size_t i = 0; i < dq.size(); i++)
	{
		cout << dq[i] << " ";
	}
	cout << endl;
}

 这就是stl中的queue,deque,stack

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/906478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录打卡—day24—【回溯】— 基础,最新820 8.21 todo

1 理论基础 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。回溯算法——回溯和递归是相辅相成的。回溯法的效率&#xff0c;回溯法其实就是暴力查找&#xff0c;并不是什么高效的算法。回溯法解决的问题都可以抽象为树形结构&#xff08;N叉树&#xff09; 1.1…

Linux面试笔试题(1)

1、以长格式列目录时&#xff0c;若文件test的权限描述为&#xff1a;drwxrw-r–&#xff0c;则文件test的类型及文件主的权限是__A____。 A.目录文件、读写执行 B.目录文件、读写 C.普通文件、读写 D.普通文件、读 在这个问题中&#xff0c;我们需要解析文件权限的描述&…

【记录】Python3|selenium4 极速上手入门(Windows)

环境&#xff1a;Windows 版本&#xff1a;python3&#xff0c;selenium 4.11.2 文章目录 1 装ChromeEdge其他浏览器 2 运行报错RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn‘t match a supported version打开了浏览器&#xff0c;但是没有显示网页…

李沐pytorch学习-经典CNN的原理及代码实现

一、LeNet 1.1 模型结构 LeNet结构如图1所示&#xff0c;汇聚层即池化层&#xff0c;这里池化Stride&#xff08;步幅&#xff09;与池化层长宽一致&#xff0c;因此使得池化后大小减半。 图1. LeNet结构 1.2 代码实现 代码实现如下&#xff1a; import torch from torch imp…

KDAB QML学习笔记Day3(5,6,7,8)

KDAB QML学习笔记Day3&#xff08;5,6,7,8&#xff09; 学习视频链接&#xff1a;Introduction to Qt / QML - all videos so far - YouTube B站链接&#xff1a;Introduction to Qt / QML_哔哩哔哩_bilibili Part05&#xff0c;06 示例代码 import QtQuick 2.15 import Q…

根据源码,模拟实现 RabbitMQ - 虚拟主机设计(5)

目录 一、虚拟主机设计 1.1、需求分析 1.1.1、核心 API 1.1.2、虚拟主机的是用来干什么的&#xff1f; 1.1.3、如何表示 交换机和虚拟主机 之间的从属关系&#xff1f; 二、实现 VirtualHost 类 2.1、属性 2.2、锁对象 2.3、公开实例 2.4、虚拟主机构造方法 2.5、交…

Ubuntu系统更换Linux内核的详细方法汇总

文章目录 一、写在前面二、方法一&#xff08;手动下载编译安装Linux内核并更换&#xff09;三、方法二&#xff08;自动下载安装Linux内核并更换&#xff09;四、最后总结 一、写在前面 最近在复现Linux内核漏洞的时候&#xff0c;经常需要更换Ubuntu系统的Linux内核版本&…

索引下推及具体实践

什么是索引下推 索引下推(Index Condition Pushdown&#xff0c;简称ICP)&#xff0c;是MySQL5.6版本的新特性&#xff0c;它能减少回表查询次数&#xff0c;提高查询效率。 索引下推优化的原理 我们先简单了解一下MySQL大概的架构&#xff1a; MySQL服务层负责SQL语法解析…

Spring 中 @Primary 注解的原理是什么?

1. 问题分析 当我们使用 Spring 的时候&#xff0c;有时候会遇到下面这种情况。 假设我有 A、B 两个类&#xff0c;在 A 中注入 B&#xff0c;如下&#xff1a; Component public class A {AutowiredB b; }至于 B&#xff0c;则在配置类中存在多个实例&#xff1a; Configu…

windows上先简单使用libevent,运行demo

使用libevent 1:获取libevent库。 从libevent 官网中获取&#xff0c;这里获取到的版本是libevent-2.1.12-stable.tar 2:windows上编译libevent库&#xff08;VS2019上使用&#xff09; 2.1&#xff1a;cmake准备 注&#xff1a;这里要用cmake进行编译&#xff0c;除此之外…

变动的Python爬虫实现

在电商时代&#xff0c;了解商品价格的变动对于购物者和卖家来说都非常重要。本文将分享一种基于Python的实时监控电商平台商品价格变动的爬虫实现方法。通过本文的解决方案和代码示例&#xff0c;您将能够轻松监控商品价格&#xff0c;并及时做出决策。 一、了解需求和目标 在…

HyperMotion高度自动化云迁移至华为HCS8.1解决方案

项目背景 2020 年以来&#xff0c;金融证券已经成为信创落地最快的领域。2021 年证监会发布的《证券期货业科技发展十四五规划》中&#xff0c;将“加强信创规划与实施”作为证券行业重点建设任务之一。为了符合国家信创标准&#xff0c;某证券企业计划将网管系统、呼叫中心管…

操作系统——Linux基本命令

文章目录 1.目录切换命令2. 目录的操作命令(增删改查)3. 文件的操作命令(增删改查)4. 压缩文件的操作命令5. Linux 的权限命令6. Linux 用户管理7. Linux 系统用户组的管理8. 其他常用命令 Linux 命令大全&#xff1a;http://man.linuxde.net/ 1.目录切换命令 cd usr&#xf…

《TCP IP网络编程》第十七章

第 17 章 优于 select 的 epoll 17.1 epoll 理解及应用 select 复用方法由来已久&#xff0c;因此&#xff0c;利用该技术后&#xff0c;无论如何优化程序性能也无法同时介入上百个客户端。这种 select 方式并不适合以 web 服务器端开发为主流的现代开发环境&#xff0c;所以需…

RCNA——静态路由配置

静态路由的一堆特点就不多说了&#xff0c;之前文章有提到过。 一&#xff0c;实验背景 公司扔给你几台路由器&#xff0c;并和你说&#xff0c;我们公司需要一条通往公司外的网络&#xff0c;你帮忙配置一下。这类网络很显然要利用VPN等技术&#xff0c;奈何公司穷的一批&…

[语音识别] 基于Python构建简易的音频录制与语音识别应用

语音识别技术的快速发展为实现更多智能化应用提供了无限可能。本文旨在介绍一个基于Python实现的简易音频录制与语音识别应用。文章简要介绍相关技术的应用&#xff0c;重点放在音频录制方面&#xff0c;而语音识别则关注于调用相关的语音识别库。本文将首先概述一些音频基础概…

【Rust】Rust学习 第十六章Rust 的面向对象特性

面向对象编程&#xff08;Object-Oriented Programming&#xff0c;OOP&#xff09;是一种模式化编程方式。对象&#xff08;Object&#xff09;来源于 20 世纪 60 年代的 Simula 编程语言。这些对象影响了 Alan Kay 的编程架构中对象之间的消息传递。他在 1967 年创造了 面向对…

【Unity3D】程序纹理简单应用

1 几何纹理应用 1.1 边框 1&#xff09;边框子图 Border.shadersubgraph 说明&#xff1a;Any 节点用于判断输入向量中是否存在一个分量非零&#xff0c;Branch 节点根据输入的真假走不同的分支&#xff0c;详见→Shader Graph节点。 2&#xff09;圆环 Ring.shadergraph 说明…

Web 拦截器-interceptor

拦截器是一种动态拦截方法调用的机制&#xff0c;类似于过滤器&#xff0c;是Spring框架提出的&#xff0c;用来动态拦截控制器方法的执行。 其作用是拦截请求&#xff0c;在指定方法调用前后&#xff0c;根据业务执行预设代码。 实现步骤 1.定义拦截器&#xff0c;实现Handl…

欧拉计划44题

Pentagon numbers Pentagonal numbers are generated by the formula, . The first ten pentagonal numbers are: 1,5,12,22,35,51,70,92,117,145,… It can be seen that . However, their difference, 70−2248, is not pentagonal. Find the pair of pentagonal numbers, a…