当前位置: 首页 > news >正文

stl_stack_queue的使用及OJ题

stl_stack_queue的使用及OJ题

  • stl_stack_queue的使用
  • 相关OJ题

stl_stack_queue的使用

#include <iostream>
#include <stack>
#include <queue>
using namespace std;void test_stack()
{stack<int> st;st.push(1);st.push(2);st.push(3);st.push(4);st.push(5);while (!st.empty()){cout << st.top() << endl;st.pop();}}void test_queue()
{queue<int> q;q.push(1);q.push(2);q.push(3);q.push(4);q.push(5);while (!q.empty()){cout << q.front() << endl;q.pop();}}int main()
{test_stack();cout << endl;test_queue();return 0;
}

相关OJ题

// stack 与 queue的 OJ题
//
T1. 最小栈
设计一个支持 push , pop , top 操作,并能在常数时间内检索到最小元素的栈。
实现 MinStack 类:
  MinStack() 初始化堆栈对象。
  void push(int val) 将元素val推入堆栈
  void pop()  删除堆栈顶部的元素
  int top()  获取堆栈顶部的元素
  int getMin()  获取堆栈中的最小元素class MinStack
{
public:MinStack() //当初始化列表为空时,自定义类型成员变量会去调用自身类的构造函数;而内置类型成员变量不做任何处理。{}void push(int val){_st.push(val);if (_minst.empty() || val<=_minst.top()) _minst.push(val);}void pop(){if (_minst.top()==_st.top())_minst.pop();_st.pop();}int top(){return _st.top();}int getMin(){return _minst.top();}private://用两个 stack 实现一个 MinStack stack<int> _st;    //普通栈  stack<int> _minst; //最小栈  //用来记录数据的最小值
};//T2.栈的压入、弹出序列 (栈 模拟这个过程)
//描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。
// 假设压入栈的所有数字均不相等。例如序列 1,2,3,4,5 是某栈的压入顺序,序列 4,5,3,2,1 是该压栈序列对应的一个弹出序列,但 4,3,5,1,2
// 就不可能是该压栈序列的弹出序列。class Solution
{
public:bool IsPopOrder(vector<int> pushV,vector<int> popV){stack<int> st;int popi = 0;for (auto pushVal : pushV){st.push(pushVal);//出栈序列匹配后要持续比较,可能会有多个匹配while (!st.empty() && popV[popi]==st.top()){++popi;st.pop();}}// return popi==popV.size();return st.empty();}
};
http://www.lryc.cn/news/170187.html

相关文章:

  • Linux下的Docker安装,以Ubuntu为例
  • 【深度学习 | LSTM】解开LSTM的秘密:门控机制如何控制信息流
  • 解决npm install遇到的问题:Error while executing:
  • 常见的内网穿透工具有 ngrok/ localtunnel/ frp
  • dvwa命令执行漏洞分析
  • 今年嵌入式行情怎么样?
  • Unity WebGL 编译 报错: emcc2: error: ‘*‘ failed: [WinError 2] ϵͳ�Ҳ���ָ�����ļ���解决办法
  • 三维模型3DTile格式轻量化压缩处理的数据质量提升方法分析
  • Pycharm2022 pycharm64.exe.Vmoptions
  • sql注入之高权限注入和文件读写
  • Java 面经
  • 无涯教程-JavaScript - ROUNDUP函数
  • 【Linux旅行记】探究操作系统是如何进行管理的!
  • 【Linux C小技巧】零长度数组的使用
  • github 网页显示不全?
  • 寄存器介绍
  • 基于CNN-LSTM的时序预测MATLAB实战
  • MySQL高可用九种方案
  • react 通过ref 获取对应 dom 的位置信息
  • SpringSecurity学习 - 认证和授权
  • JDK jps命令复习
  • Android 13.0 屏蔽Launcher3桌面app图标的长按功能
  • 软考和PMP哪个含金量更高?
  • 第一章:最新版零基础学习 PYTHON 教程(第三节 - 下载并安装Python最新版本)
  • Spring 中三种 BeanName 生成器!
  • Go基础-文件、字符
  • 启动YOLO进行图片物体识别
  • BMS电池管理系统的蓝牙芯片 国产高性能 低功耗蓝牙Soc芯片PHY6222
  • 肖sir__mysql之三表__008
  • 【Linux】常用工具(上)