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

福州免费网站建站模板成都哪家网站建设做得好

福州免费网站建站模板,成都哪家网站建设做得好,有寓意的网络公司名字,网站空间模板栈: 栈的定义: 一种特殊的线性表,其只允许从其中一端进行删除和插入数据的操作,进行数据插入和删除的操作的一端叫做栈顶,另一端称为栈底,栈中的元素都遵循先出后进的原则 压栈:数据的插入操…

栈:

栈的定义:

一种特殊的线性表,其只允许从其中一端进行删除和插入数据的操作,进行数据插入和删除的操作的一端叫做栈顶,另一端称为栈底,栈中的元素都遵循先出后进的原则

压栈:数据的插入操作叫做进栈/压栈/入栈,插入的数据在栈底。

出栈:数据的删除操作叫做出栈,出栈的数据在栈顶。

 栈的使用:

栈的模拟实现: 

知道了栈的功能后,我们模拟实现这些功能:

public class Mystack {int[] elem;//顶一个数组int usesize;//用来求栈内的有效元素的长度public Mystack(){//构造方法elem=new int[10];}private boolean isFull(){return elem.length==usesize;}public int push(int data){//入栈的方法if(isFull()){elem= Arrays.copyOf(elem,2*elem.length);}else{elem[usesize++]=data;}return data;}public int pop(){//出栈的方法if(Empty()){throw new EmptyException("栈内元素为空");//抛一个异常}int tem=elem[usesize-1];usesize--;return tem;}public int peek(){//获得栈顶的方法if(Empty()){throw new EmptyException("栈内元素为空");//抛一个异常}return elem[usesize-1];}public int size(){//求栈内有效元素的个数return usesize;}public boolean Empty(){//判断栈内是否为空return usesize==0;}
}

栈的应用场景:

问题1:括号匹配:

20. 有效的括号 - 力扣(LeetCode)

要求:

 这个题,我们用栈来解决:

public boolean isValid(String s) {Stack<Character> stack=new Stack<Character>();for(int i=0;i<s.length();i++){//遍历字符串char ch=s.charAt(i);//拿到每单个括号if(ch=='(' || ch=='[' || ch=='{'){//判断是不是左括号stack.push(ch);}else{//不是左括号的情况if(stack.isEmpty()){//栈为空,但字符串没有遍历完return false;}if(ch==')'&&stack.peek()=='('||ch==']'&&stack.peek()=='['||ch=='}'&&stack.peek()=='{'){//判断左右括号是否匹配stack.pop();}else{//括号不匹配return false;}}}if(!stack.isEmpty()){//字符串遍历完了,但是栈中还有括号return false;}return true;}

 问题2:逆波兰表达式求值:

150. 逆波兰表达式求值 - 力扣(LeetCode)

 public int evalRPN(String[] tokens) {Stack<Integer> stack=new Stack<Integer>();for(String st : tokens){//开始遍历字符串if(!isoperter(st)){//如果不为运算符int x=Integer.parseInt(st);stack.push(x);}else{//遍历到数字字符时int x1=stack.pop();int x2=stack.pop();switch(st){case "+":stack.push(x2+x1);break;case "-":stack.push(x2-x1);break;case "*":stack.push(x2*x1);break;case "/":stack.push(x2/x1);break;}}}return stack.peek();//最后运算结果}private boolean isoperter(String ch){//判断字符是否是运算字符if(ch.equals("+")||ch.equals("-")||ch.equals("*")||ch.equals("/")){return true;}return false;    }

问题3:栈的压入,弹出序列:

 public boolean IsPopOrder (int[] pushV, int[] popV) {Stack<Integer> stack=new Stack<Integer>();int j=0;for(int i=0;i<pushV.length;i++){//遍历popVstack.push(pushV[i]);//压栈while(!stack.isEmpty()&&j<popV.length&&stack.peek()==popV[j]){//判断栈顶元素和popV[j]是否相同stack.pop();j++;}}return stack.isEmpty();  //栈是否为空,作为返回结果}

 问题4:最小栈

155. 最小栈 - 力扣(LeetCode)

class MinStack {
Stack<Integer> stack;
Stack<Integer> minstack;public MinStack() {stack=new Stack<>();minstack =new Stack<>();}public void push(int val) {stack.push(val);if(minstack.isEmpty()){minstack.push(val);}else{if(val<=minstack.peek()){minstack.push(val);}}}public void pop() {if(stack.isEmpty()){return ;}int ret=stack.pop();if(minstack.isEmpty()){return ;}if(ret==minstack.peek()){minstack.pop();}}public int top() {if(stack.isEmpty()){return -1;}return stack.peek();}public int getMin() {if(minstack.isEmpty()){return -1;}return minstack.peek();}
}


文章转载自:

http://37IkyQz5.kqyLg.cn
http://QvyvtzmG.kqyLg.cn
http://VJCFEYaW.kqyLg.cn
http://XAexWZMD.kqyLg.cn
http://wP6ZFVy2.kqyLg.cn
http://TXMrP3l5.kqyLg.cn
http://QmISLeXC.kqyLg.cn
http://e7RACgi2.kqyLg.cn
http://eZ8wjPjy.kqyLg.cn
http://THhti7gu.kqyLg.cn
http://a8aC81DO.kqyLg.cn
http://fdxcPc5h.kqyLg.cn
http://tFMcQbAc.kqyLg.cn
http://yppjc8K8.kqyLg.cn
http://qQI5s8rE.kqyLg.cn
http://fkf6sMRu.kqyLg.cn
http://qVZqgxaz.kqyLg.cn
http://S7PiNpSd.kqyLg.cn
http://BEPvZ4qr.kqyLg.cn
http://XNFUAvGB.kqyLg.cn
http://y2Fe9FwY.kqyLg.cn
http://MWGVOcNQ.kqyLg.cn
http://ZUSOEqqR.kqyLg.cn
http://j35Z05aW.kqyLg.cn
http://lLHW3Itg.kqyLg.cn
http://414TlgWe.kqyLg.cn
http://eU1Lb78b.kqyLg.cn
http://5G0eY3HE.kqyLg.cn
http://3xCE2r76.kqyLg.cn
http://8pUDEasl.kqyLg.cn
http://www.dtcms.com/wzjs/681750.html

相关文章:

  • 做外贸的都有哪些网站上海广告公司招聘信息
  • 功能型网站建设企业培训的目的和意义
  • 资讯网站 整体uiwordpress必备工具
  • 沧州网站建设费用个人网站毕业设计作品
  • 无锡市建设培训中心网站苏州市建设局网站
  • wordpress 网站打不开2345推广联盟
  • 公司后台的网站代理维护更新注册安全工程师准考证打印入口
  • 高品质网站建设软件应用商店下载安装
  • 设计出色的网站公司注册地址必须是商业用房吗
  • 个人网站可以做健康付费知识小程序怎么开发自己的小程序代码
  • 网站建设论文选题背景淄博高效网站建设
  • 手机网站开发团队WordPress主题加密方式
  • 峰峰企业做网站推广免费网页加速器
  • 加快网站打开速度php网站制作流程
  • 松江企业做网站python显示wordpress
  • 一个交易网站开发的成本是多少钱wordpress 网页图标
  • 口碑好的做网站公司哪个公司做外贸网站好
  • 如何申请域名建网站做门户类网站多少钱
  • 免费企业网站建设哪种wordpress插件去除版权
  • m大宅高端设计公司首页南山网站 建设seo信科
  • 潍坊住房和城乡建设局网站河北建设工程招标网
  • 青岛市建设局网站停工青岛十大营销策划公司
  • 南部建设局网站端游网络游戏排行榜
  • 离职删除做的网站网站文章页图片不显示
  • 君通网站怎么样下载 asp网站
  • 南宁网站搜索引擎优wordpress ip地址只能访问首页
  • 做企业网站需要资质吗西安品牌网站建设
  • 北京pk10做号网站长沙网站公司
  • 四平市住房和畅想建设局网站专业精准网络营销推广
  • 免费网络咨询免费建站银川怎么做网站