stack(栈)简单应用
来源:互联网 发布:淘宝3c认证在哪里 编辑:程序博客网 时间:2024/06/05 10:02
stack常用的操作函数:top(),push(),pop(),size(),empty();
应用时的模板:
***********************
#include<stack>
using namespace std;
***********************
stack<ELem>c;//创建一个空的stack,ELem是类型名(char,int,double,.......),c是自定义名,满足标识符命名规则。
**********************
while(!c.empty()) //或者是c.size()!=0;
{
c.pop();
} //清空栈,这一步往往在多组测试数据中经常用到。
****************
c.push(Elem);//在栈顶增加Elem数据
**************
stack<Elem>c(c1);//复制stack;
********************
c.top(); //返回栈顶数据
*****************
c.pop(): //弹出栈顶数据
********************
简单例题:
/hdu--1022/#include<stdio.h>#include<string.h>#include<stack>using namespace std;int main(){char a[12],b[12];int n,i,j,k;int flag[20];stack<char>s;memset(flag,0,sizeof(flag));while(scanf("%d %s %s",&n,a,b)!=EOF){while(!s.empty()){s.pop();}k=0;j=0;for(i=0;i<n;i++){s.push(a[i]);flag[k++]=1;while(!s.empty()&&s.top()==b[j]){s.pop();flag[k++]=0;j++;}}if(j==n){printf("Yes.\n");for(i=0;i<k;i++)if(flag[i])printf("in\n");else printf("out\n");}else printf("No.\n");printf("FINISH\n");}return 0;}
/*hdu--简单计算器*/
#include<stdio.h>#include<stack>using namespace std;int main(){double n,m,sum;//sum表示最后的结果 char a;//a表示运算符 while(~scanf("%lf",&m)){if(getchar()=='\n'&&m==0)//判断输入是否结束 ,此处巧妙的应用可以做到// 使后面先运算后存储 break;stack<double>s;s.push(m);//存入第一个数 scanf("%c",&a);while(scanf("%lf",&m)!=EOF){if(a=='*'){n=s.top();s.pop();n*=m;s.push(n);} if(a=='/'){n=s.top();s.pop();n/=m;s.push(n);} if(a=='+'){s.push(m);} if(a=='-')//将最后的计算都化成加法运算 {s.push(-m);}if(getchar()=='\n')break;//判断一组数据是否结束 scanf("%c",&a);}sum=0.0;while(!s.empty())//当string的长度为0是,empty返回值是ture,否则为false {sum+=s.top();s.pop();}printf("%.2lf\n",sum);}return 0;}
0 0
- stack(栈)简单应用
- Stack的简单应用
- Stack(栈)的简单应用——实现单词逆序
- 栈(stack)和队列(queue)的简单实例
- 算法导论------------栈(stack)简单的数组实现
- 数据结构之栈(stack)初步简单实现
- java专题——栈stack应用
- C++ STL-stack栈的应用
- 栈(Stack)的python实现及应用
- c++中的栈、stack的初步应用
- 列车进站问题,Stack(应用)
- stack STL 中栈的简单使用
- C语言,简单栈的实现 Stack
- c语言栈Stack简单实现
- 堆(heap)和栈(stack)简单介绍
- 十一、一个简单的栈stack实现
- HDU 1237 简单计算器(stack)
- 九度1019:简单计算器(Stack)
- Ubuntu Server 14.04安装docker
- 总结JavaScript编程中的Promise使用
- 3.07-for
- 学习 java netty (二) -- ServerBootstrap
- 3.08-for使用注意
- stack(栈)简单应用
- WHU 1578 Fishing Dream(分块暴力)
- PPT演讲的技巧
- 安卓加载顺序
- 3.09-for循环嵌套
- 求组合数c(n,m)
- Ubuntu下安装docker以及简单介绍docker
- GPA
- 3.10-for循环嵌套练习