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

高效的宝安网站推广绵阳城区大建设

高效的宝安网站推广,绵阳城区大建设,wordpress域名更换插件,网站建设的所需解决的技术问题一、概念 栈也是一种线性数据结构#xff0c;最主要的特点是入栈顺序和出栈顺序是相反的#xff0c;操作时只能从栈顶进行操作#xff0c;在Java中给我们提供了一个泛型栈——Stack#xff0c;其中最常用的方法有#xff1a; void push(E):进栈E pop():退栈E peek():查看…一、概念 栈也是一种线性数据结构最主要的特点是入栈顺序和出栈顺序是相反的操作时只能从栈顶进行操作在Java中给我们提供了一个泛型栈——Stack其中最常用的方法有 void push(E):进栈E pop():退栈E peek():查看栈顶元素int getSize():返回栈的元素数量isEmpty():检查栈是否为空 二、栈的实现 因为栈也是一种线性结构所以这里可以利用之前我们写的数组这里可以用接口的方式来实现我们自己的顺序栈下面进行代码演示。 数据结构Java版1——数组-CSDN博客 栈的接口 public interface Stack_i Elem{public abstract boolean push(Elem e);public abstract Elem pop();public abstract Elem peek();public abstract int getLength();public abstract boolean isEmpty(); } 通过接口的方式对stack中的方法进行重写实现功能 public class ArrStackE implements Stack_iE{private MyArrayE stack;private int length;public ArrStack() {this.stack new MyArray(16);length 0;}Overridepublic boolean push(E e) {try {stack.add(e);}catch (Exception exception){return false;}this.length;return true;}Overridepublic E pop() {if(this.getLength()0) return null;E e;try {e stack.removeByIndex(this.length - 1);}catch (Exception exception){return null;}this.length--;return e;}Overridepublic E peek() {if(this.getLength()0) return null;E e;try {e stack.getValueByIndex(this.length - 1);}catch (Exception exception){return null;}return e;}Overridepublic int getLength() {return this.length;}Overridepublic boolean isEmpty() {return this.length0;} } 对自己的顺序栈进行代码测试 import java.util.ArrayList; import java.util.List; import java.util.Random;public class testMyStack {public static void test(ArrStackInteger stack, ListInteger list){Random random new Random();for(int i 0;i 10;i){stack.push(random.nextInt(1000));System.out.println(stack.peek()——现在还有stack.getLength()个元素);}Integer temp;while ((temp stack.pop())!null){list.add(temp);}System.out.println();}public static void main(String[] args) {ListInteger list new ArrayList();ArrStackInteger stack new ArrStack();test(stack,list);for (Integer i:list) {System.out.println(i);}} } 输出结果  在测试中我们使用循环对栈先进行入栈入栈元素分别为377、338、269、107、129、66、101、760、977、786之后我们又循环出栈到list集合中出栈顺序为786、977、760、101、66、129、107、268、338、377从案例中可以看出栈这种数据结构的特点——先进后出。  三、栈可以解决的问题 1.括号匹配问题 例题20. 有效的括号 - 力扣LeetCode 这种类型的题就适合用栈这种数据结构这里我用数组集合的做法和栈的做法做比较 数组做法 import java.util.ArrayList;class Solution {public static boolean isValid(String s) {ArrayListCharacter list new ArrayList();int length 0;while(length s.length()) {if(list.size()0){list.add(s.charAt(length));continue;}if(list.get(list.size()-1).equals(()s.charAt(length))){list.remove(list.size()-1);length;continue;}if(list.get(list.size()-1).equals([)s.charAt(length)]){list.remove(list.size()-1);length;continue;}if(list.get(list.size()-1).equals({)s.charAt(length)}){list.remove(list.size()-1);length;continue;}list.add(s.charAt(length));}return list.isEmpty();} } 输出结果 栈做法 class Solution {public boolean isValid(String s) {StackCharacter stack new Stack();char[] chars s.toCharArray();for(int i 0;i chars.length;i){if(chars[i](||chars[i][||chars[i]{) stack.push(chars[i]);if(chars[i])||chars[i]]||chars[i]}){if(stack.isEmpty()){return false;}char char_temp stack.pop();if(char_temp(chars[i]!)) return false;if(char_temp[chars[i]!]) return false;if(char_temp{chars[i]!}) return false;}}return stack.size()0;} } 输出结果 这里简单说明一下这道题的思路因为要判断括号是否匹配则左括号和右括号都是一一对应的若出现了不对应的情况则视为不匹配我们可以遇到左括号时进栈而遇到右括号时出栈此时若括号匹配则栈中现在只有左括号我们只用判断出栈元素是否与当前循环元素匹配就行循环结束后栈应该为空。在这其中只要有一次匹配失败则返回false。总结一下我们一个需要注意这几个要求 入栈元素为左括号遇到右括号出栈判断出栈元素与当前循环元素是否匹配循环结束后栈是否为空
http://www.dnsts.com.cn/news/140290.html

相关文章:

  • 最好的网站模板网站上传网站再备案
  • 兰山网站建设公司卓老师建站特色功能
  • 重庆推广网站排名价格桂林旅游攻略
  • 做企业网站市场分析短链短网址在线生成工具
  • ps怎么做网站一寸的照片网站设计公司行业排名
  • 电子商务网站建设前景wordpress如何开启gzip
  • 庆阳网站设计有哪些可以做包装袋的网站
  • 做微商想做个网站域名升级系统自动更新
  • 自己的网站做app设计师浏览网站
  • 自己网站建设的流程是什么南充市住房和城乡建设厅官方网站
  • 筑楼人官方网seo兼职论坛
  • 大作设计网站官网下载锦州网站seo
  • 杭州知名的网站制作策略品牌建设影响
  • 本地岑溪网站开发现代装修风格三室两厅效果图
  • 蝴蝶传媒网站推广什么是搜索引擎推广
  • 甘孜州住房和城乡规划建设局网站建设网站需要分析什么条件
  • 网站平台专业开发制作app网络营销有哪些模式
  • 个人可否建立网站silverlight做的网站
  • 网站搭建中企动力最行灯具网站怎么做
  • 软件下载网站如何履行安全公司网站域名申请
  • 常州网站建设选思创工业产品设计就业前景
  • 微小店网站建设比较好夜夜夜在线观看
  • 深圳集团网站建设公司好自己的网站 做采集怎么做
  • 宠物网站开发文档电子商务网站开发的
  • 网站建设鼠标点击变色怎么弄万能浏览器
  • 自己开一个网站要多少钱门户网站建设哪里有
  • wordpress站下所有标签网站内容质量
  • 网站建设实训室站内优化
  • 网站如何做引流腾讯官网登录入口
  • 深圳南山企业网站建设报价如何做招生网站