C++标准模板库 栈容器的使用

news/2024/10/19 18:17:11/

我们知道c++标准模板库中栈和队列很重要,是考试的重点内容,今天和我一起来学习栈容器的使用吧

特点:先进后出,后进先出(餐馆的盘子)

C++中有专门的栈容器stack

常用

Push(S,x);//入栈
POp(S,x);//出栈
GetTop(S);//取出栈顶元素

栈中元素可以按需要随时出栈,大家需要记住的是栈只能在最后插入(入栈),也只能删除每次最后入栈的那个元素(出栈),这是栈最重要的特点。

top()

pop()

empty()

size()


经典题

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
void convert(int N)
{int S[20],e;int top=-1;while(N!=0){top++;S[top]=N%8;N=N/8;}while(top!=-1){e=S[top];top--;printf("%d ",e);}
}
int main()
{int n,ans;cin>>n;convert(n);return 0;
}

 经典题必会

基本的栈操作,用了3个栈来实现,但很容易!注意多组输入!

Bessie 和 Canmuu 将联手洗掉N (1<= N <= 10,000) 个脏盘子。
Bessie 洗; Canmuu 来擦干它们.
每个盘子有一个指定的编号,范围1..N. 开始,所有盘子按顺序排列在栈中,1号盘子在顶端,N号盘子在底端.
Bessie 会先洗一些盘子,然后放在洗过的盘子栈里(这样原来的顺序颠倒).
然后,或者她洗别的盘子,或者Canmuu 擦干她已经洗好的部分或全部盘子,放在擦干的盘子栈里。
这样直到所有盘子洗完擦干后放置的顺序是什么?

Input

第一行: 一个整数N,表示盘子的数量
以下若干行: 每一行两个整数 ,第一整数为1表示洗盘子,为2表示擦盘子,第二个整数表示数量

Output

共N行:擦干后盘子从顶端到底端的顺序

Sample Input

5
1 3
2 2
1 2
2 3

Sample Output

1
4
5
2
3
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
stack<int >v1,v2,v3;
int main()
{int i,n,x,y;cin>>n;for(i=n;i>=1;i--)v1.push(i);while(cin>>x>>y){if(x==1)for(i=1;i<=y;i++){v2.push(v1.top());v1.pop();}if(x==2)for(i=1;i<=y;i++){v3.push(v2.top());v2.pop();}}while(!v3.empty()){cout<<v3.top()<<endl;v3.pop();}return 0;
}


http://www.ppmy.cn/news/203335.html

相关文章

计算机基础--->操作系统(2)【线程和进程、死锁】

文章目录 线程和进程线程和进程的区别&#xff1f;有了进程为什么还需要线程&#xff1f;为什么使用多线程&#xff1f;线程间的同步方式进程控制块&#xff08;PCB&#xff09;进程有哪几种状态&#xff1f;进程间的通讯方式有哪些&#xff1f;进程常见的调度算法有哪些&#…

用友U8库存管理软件,用友U8

产品名称&#xff1a; 用友U8库存管理软件,用友U8 功能亮点&#xff1a; U8库存管理系统主要功能&#xff1a;   初始设置&#xff1a;用户进行系统选项、期初结存、期初不合格品及代管消耗规则的维护工作。   日常业务&#xff1a;用户进行出入库和库存管理的日常业务操…

【数据库课程设计】企业库存管理系统

作者&#xff1a;何翔 学院&#xff1a;计算机学院 学号&#xff1a;04191315 班级&#xff1a;软件1903 完整资料&#xff1a;https://download.csdn.net/download/HXBest/72361220

一款万能库存管理软件

一款通用的绿色小软件,可以用来帮助中小企业解决一些问题&#xff1a; 1、日常的出入库管理、收付款管理&#xff0c;以及相关数据的查询分析&#xff1b; 2、订单的跟单管理&#xff08;包括销售跟单、采购跟单、生产跟单&#xff09;&#xff0c;可随时查询各业务的进度和相关…

mysql 库存预警_仓库管理中如何实现库存预警

仓库管理人员常因库存不够或库存过多而头疼不已&#xff0c;因为无法及时掌握库存情况&#xff0c;要想随时掌握还需每天跑去仓库进行盘点&#xff0c;工作效率低且不准确。而ERP系统中库存预警就是帮助企业仓库商品设置上限和下限报警线&#xff0c;当商品的当前库存超过上限或…

生产计划管理软件有哪些?哪个好

生产计划管理软件有哪些&#xff1f;哪个好&#xff1f;生产计划管理&#xff0c;一般是指企业对生产活动的计划、组织和控制工作。生产计划管理软件可提高生产效率、提升品质、降低成本等。对企业管理意义深远。 ​生产计划管理软件介绍&#xff1a;MES制造执行系统 ​ MES系统…

c语言程序设计商品库存管理系统,《C语言课程设计商品库存管理系统》.doc

《C语言课程设计商品库存管理系统》 第1章 系统分析与设计 1.1 系统分析 1.1.1解决问题运用现代信息化和智能化的管理方式,解决商品库存信息在日常生活中易于丢失、遗忘,不易保存、管理的问题,从而使企业和商家能够更全面,更直观地了解到商品库存信息。1.1.2软件功能将商品…

供应链库存管理-供应链库存案例分析

供应链管理的实现,是把供应商、生产厂家、分销商、零售商等在一条供应链上的所有节点企业都联系起来进行优化,是生产资料以最快的速度,通过生产、分销环节变成增值的产品,到达有消费需求的消费者手中.这不仅可以降低成本,减少社会库存,而且使社会资 源得到优化配置,更重要的是通…