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

北京哪里做网站好中小企业网站设计与开发目的

北京哪里做网站好,中小企业网站设计与开发目的,dns解析失败登录不了网站,有好看图片的软件网站模板CSDN的各位uu们你们好,今天千泽带来了栈的深入学习,我们会简单的用代码实现一下栈, 接下来让我们一起进入栈的神奇小世界吧!0.速览文章一、栈的定义1. 栈的概念2. 栈的图解二、栈的模拟实现三.栈的经典使用场景-逆波兰表达式总结一、栈的定义 1. 栈的概念 栈:一种…
CSDN的各位uu们你们好,今天千泽带来了栈的深入学习,我们会简单的用代码实现一下栈,
接下来让我们一起进入栈的神奇小世界吧!

0.速览文章

  • 一、栈的定义
    • 1. 栈的概念
    • 2. 栈的图解
  • 二、栈的模拟实现
  • 三.栈的经典使用场景-逆波兰表达式
  • 总结

一、栈的定义

1. 栈的概念

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈
顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。

2. 栈的图解

在这里插入图片描述
压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
出栈:栈的删除操作叫做出栈。出数据在栈顶。
在这里插入图片描述
可以看出,入栈和出栈会改变栈顶.

二、栈的模拟实现

Java集合中的Stack类在底层是一个顺序表 , 那么我们可以简单的用一个数组来模拟栈

import java.util.Arrays;public class MyStack {public int [] elem;public int usedSize;public MyStack() {this.elem = new int [5];}public void push(int val){if(isFull()){this.elem =  Arrays.copyOf(this.elem,2*this.elem.length);}this.elem[this.usedSize] = val;this.usedSize++;}public boolean isFull(){return this.usedSize == elem.length;}public int pop(){if(isEmpty()){throw  new RuntimeException("栈为空!");}int OldValue = this.elem[usedSize - 1];this.usedSize--;return OldValue;}public int peek(){if(isEmpty()){throw  new RuntimeException("栈为空!");}return this.elem[usedSize - 1];}public boolean isEmpty(){return this.usedSize == 0;}
}

友友们可以动手实践一下,数据结构一定要多写多画图多总结!


三.栈的经典使用场景-逆波兰表达式

现在,我们了解了栈的相关代码写法, 那么我们一起来看一下栈在题目中的应用
150. 逆波兰表达式求值
https://leetcode.cn/problems/evaluate-reverse-polish-notation/
在这里插入图片描述
解法:

在这里插入代码片import java.util.Stack;public class 逆波兰 {int i = 0 ;public int evalRPN(String[] tokens) {Stack<Integer> stack = new Stack<>();for(int i = 0; i < tokens.length; i++){String val = tokens[i];if(isOperation(val) == false){stack.push(Integer.parseInt(val));}else {int num1 = 0;int num2 = 0;switch (val){case "+":num2 = stack.pop();num1 = stack.pop();stack.push(num1 + num2);break;case "-":num2 = stack.pop();num1 = stack.pop();stack.push(num1 - num2);break;case "*":num2 = stack.pop();num1 = stack.pop();stack.push(num1 * num2);break;case "/":num2 = stack.pop();num1 = stack.pop();stack.push(num1 / num2);break;}}}return stack.pop();}public  boolean isOperation(String str){if(str.equals("+") || str.equals("-") || str.equals("*") || str.equals("/")){return true;}return false;}
}

总结

今天栈的相关内容就到这里,祝你学习进步,感谢你的支持!

http://www.yayakq.cn/news/499227/

相关文章:

  • 网站开发后台 amp国家企业信息公示系统官网平台
  • 吴江建设局网站软件开发招标网站
  • 网站链接查询南昌做网站优化价格
  • 最专业汽车网站建设哪个网站做外贸好
  • 宁波seo外包方案seo网络营销公司
  • 塑胶模具东莞网站建设网站管理入口
  • 台州 做网站凡科建站登录界面
  • 用qq邮箱做网站天津招聘网人才招聘官网
  • 如企业网站模板下载网站是先制作后上线么
  • 太原 招聘 网站建设 技术经理怎么让网站被收录
  • 河南做网站哪个平台好网站建设的问题疑问
  • yahoo怎么提交网站淘宝优惠券返利网站怎么做
  • 小网站搜什么关键词网站软件下载安装免费版
  • 能够做数据地图的网站承德兴隆建设局网站
  • 做网站都需要什么如何在网上销售产品
  • 太原网站建设哪家最好广州建站外包公司历史长
  • 做网站选哪家公司比地招标网官网
  • 广东网站备案要多久seo服务公司深圳
  • 郑州正规的网站建设价格工地用的木模板是什么板
  • wordpress导入网站做网站商城的小图标软件
  • sofish wordpress主题成都关键词优化技术
  • 网站做多久能盈利旅游网络营销案例
  • 如何做漫画赚钱的网站桂林房价
  • 手机网站跳转怎么办网页制作工具哪个好用
  • 楚雄市建设规划批前公示在那个网站网站建设推广代理商
  • 网站导航如何做半透明巴南城乡建设网站
  • 网站定位广告做民俗酒店到哪些网站推荐
  • 好模版网站网站什么开发
  • 长沙网站seo费用门户网站建设自评报告
  • 高端网站定制站南宁公司网站设计