STL之stack(栈)
来源:互联网 发布:java二维数组 编辑:程序博客网 时间:2024/06/06 06:30
栈的操作如下:
1.
stack<data_type>name;//如:stack<int>z;定义一个数据类型为data_type的栈name。
2.
stack<data_type>name(name2);//如:stack<int>z(z2);将栈name2中的元素复制到一个新栈name中。
3.
name.push(variable);//如:z.push(a);将a压入栈z的顶端。
4.(栈不能为空的情况下)
name.pop();//如:z.pop();弹出一个z栈的栈顶元素。
5.(栈不能为空的情况下)
variable=name.top();//如:k=z.top();将z栈的栈顶元素赋值给一个变量k。
6.
variable=name.size();//如:k=z.size();将z栈的元素个数赋值给一个变量k。
7.
name.empty();//如:z.empty();检验栈是否为空,空返回为1,非空返回为0;
总体操控样例如下:
#include<iostream>#include<cstdio>#include<stack>using namespace std;typedef long long ll;inline ll read()//输入 { char ls=getchar(),k=0;for(;ls<'0'||ls>'9';k=ls,ls=getchar()); ll x=0;for(;ls>='0'&&ls<='9';ls=getchar())x=x*10+ls-'0'; if(k=='-')x=-x;return x;}stack<ll>z;//stack<data_type>name;定义栈z 类型long long int main(){ ll a[12]={1,2,3,4,5,6,7,8,9,10}; for(int i=0;i<=9;++i) z.push(a[i]);//将a数组的元素依次压入栈顶 cout<<z.size()<<endl;//输出栈中的元素个数共10个 cout<<z.top()<<endl;//返回栈顶元素10 z.pop(); cout<<z.top()<<endl;//10被弹出,返回栈顶元素9 cout<<z.empty()<<endl;//此时栈不为空,返回0 stack<ll>z2(z);//复制栈z到新栈z2 cout<<z2.size()<<endl;//输出z2中的元素个数共9个 for(int i=0;i<=8;++i) { cout<<z2.top()<<" ";//检验复制结果,依次弹出栈中的元素 z2.pop(); }cout<<endl; cout<<z2.empty()<<endl;//此时栈为空,返回1 //cout<<z2.top()<<endl;栈空时运行这句话内存会崩溃,应用程序错误 //所以输出栈时一定要保证栈不为空 return 0;}
0 0
- STL之stack(栈)
- STL之stack(栈)
- STL之stack(栈)
- STL:栈(stack)
- STL - stack(栈)
- stack栈(STL)
- [转载] STL 之 stack 栈
- STL系列之stack栈
- STL容器之stack栈
- STL系列之二 stack栈
- STL系列之二 stack栈
- STL系列之二 stack栈
- STL系列之二stack栈
- STL系列之二 stack栈
- STL系列之二 stack栈
- STL系列之二 stack栈
- STL系列之二 stack栈
- STL系列之二 stack栈
- XML——XML概述
- 3036: 绿豆蛙的归宿 概率与期望 记忆化搜索
- 宏正自动科技发行首创双控制端抽拉式LCD KVM设备
- 字符串查找String.IndexOf
- 2016蓝桥杯假期任务之《圆周率》
- STL之stack(栈)
- AQS的原理(1)
- Color Me Less
- Codeforces 617 C. Watering Flowers
- Json数据手动解析
- unable to start activity componentinfo java lang nullpointerexception
- struts2拦截器的实现原理及源码剖析
- 51nod1393 01串相等 思维
- android基本架构