stl stack用法

栈后进先出

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<stack>
#include<string.h>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<queue>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    stack<int> st;
    int n,x;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>x;
        st.push(x);
    }
    cout<<st.size()<<endl;
    cout<<st.empty()<<endl;
    while(!st.empty()){
        cout<<st.top()<<endl;
        st.pop();
    }
    return 0;
}

原文地址:https://www.cnblogs.com/mch5201314/p/10558055.html

时间: 2024-10-10 06:57:54

stl stack用法的相关文章

STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map

STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map   list vector deque stack queue priority_queue set [unordered_set] map [unordered_map] multimap [unordered_multimap]     contiguous storage double-ended queue LIFO FIFO 1st is greatest  

浅谈C++ STL stack 容器

浅谈C++ STL stack 容器 本篇随笔简单介绍一下\(C++STL\)中\(stack\)容器的使用方法和常见的使用技巧. stack容器的概念 \(stack\)在英文中是栈的意思.栈是一种基本的数据结构.而\(C++STL\)中的栈就是把这种数据结构模板化了. 栈的示意图如下:这是一个先进后出的数据结构.这非常重要!! 事实上,\(stack\)容器并不是一种标准的数据结构,它其实是一个容器适配器,里面还可以存其他的\(STL\)容器.但那种使用方法过于高深而且不是很常用,所以在此不

STL常见用法

1.选择C++刷算法的理由 1.C++速度快(C不是更快么,java太慢了) 2.C++有STL(什么是STL)--使用很方便的类库 3.如何使用STL进行高效刷算法 4.好处:刷算法,学习成本极低 5.如何从C到C++(仅基础语法到刷算法程度) 俗话说:磨刀不误砍柴工 不会c++仍然可以做,但是效率低 2.输入输出 C++保留了C的scanf和printf,增加了额外的cin与cout 例子 2.1.C程序中输入输出 int a; scanf("%d",&a); printf

STL set 用法

c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许.1) 不能直接改变元素值,因为那样会打乱原... c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. 1) 不能直接改变元素值,因为那样会打乱原本正确的顺序,

C++ STL stack 括号匹配 源代码

// STL_stack.cpp : 定义控制台应用程序的入口点. // STL 栈stack #include "stdafx.h" #include <iostream> #include <stack> #include <map> #include <string> #include <time.h> using namespace std; multimap<char, char> match; mult

洛谷 P1739 表达式括号匹配【STL/stack/模拟】

题目描述 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@"作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回"YES":否则返回"NO".表达式长度小于255,左圆括号少于20个. 输入输出格式 输入格式: 一行:表达式 输出格式: 一行:"YES" 或"NO" 输入输出样例 输入样例#1: 2*(x+y)/(1-x)@ 输出样例#1

记一些stl的用法(持续更新)

有些stl不常用真的会忘qwq,不如在这里记下来,以后常来看看 C++中substr函数的用法 1 #include<string> 2 #include<iostream> 3 using namespace std; 4 5 void main() 6 { 7 string s("12345asdf"); 8 string a=s.substr(0,5); 9 cout<<a<<endl; 10 } (以上转自:https://www

&lt;泛&gt; STL - stack 模拟实现

今天,看C++Template的时候看到那人写了一个Stack,于是乎,手痒,自己也写了一个,在拜读了STD文件和C++模板元编程某些小节之后,你们就看到了这篇代码. 经过上述一番经历之后,我重新写了myVector,使之更完善,更加服务于顶层结构,如:myStack myVector实现 栈没什么写的,大部分精力都放在了重新构建底层容器上,STL里面的功能函数基本都实现了,除了std的各种相关的构造函数实在整不来那么多 测试效果: #include "E:\数据结构\myStack.h&quo

STL——Stack栈

首先,堆栈是一个线性表,插入和删除只在表的一端进行.这一端称为栈顶(Stack Top),另一端则为栈底(Stack Bottom).堆栈的元素插入称为入栈,元素的删除称为出栈.由于元素的入栈和出栈总在栈顶进行,因此,堆栈是一个后进先出(Last In First Out)表,即 LIFO 表c++ stl栈stack头文件为 #include <stack> 定义栈  stack<type(char,int,string,double,float)> s; c++ stl栈5个最