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

好的网站你们会感谢我的住建局官网查询系统

好的网站你们会感谢我的,住建局官网查询系统,广西南宁房产网站建设,wordpress 头像本地化1. 栈(Stack) 1.1 概念 栈 #xff1a;一种特殊的线性表#xff0c;其 只允许在固定的一端进行插入和删除元素操作 。进行数据插入和删除操作的一端称为栈顶#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO #xff08; Last In First Out #xff09;的原则…1. 栈(Stack) 1.1 概念 栈 一种特殊的线性表其 只允许在固定的一端进行插入和删除元素操作 。进行数据插入和删除操作的一端称为栈顶另一端称为栈底。栈中的数据元素遵守后进先出LIFO Last In First Out 的原则。 压栈栈的插入操作叫做进栈 / 压栈 / 入栈 入数据在栈顶 。 出栈栈的删除操作叫做出栈。 出数据在栈顶 。 1.2 栈的使用  方法功能Stack()构造一个空的栈E push(E e)将e入栈并返回eE pop()将栈顶元素出栈并返回E peek() 获取栈顶元素 int size() 获取栈中有效元素个数 boolean empty() 检测栈是否为空 1.3 栈的模拟实现  栈和ArrayList类似都是动态的顺序表 我们用数组来实现。 首先我们自己创建一个类MyStack里面定义一个数组成员变量用来模拟实现栈 代码 public class MyStack implements IStack{private int[] elem;private int usedSize; //数组中元素的个数private static final int DEFAULT_CAPACITY 10; //默认数组大小public MyStack() {elem new int[DEFAULT_CAPACITY];} } 对于栈的实现入栈操作  在入栈的时候要先判断数组是否已满如果满则对数组进行扩容不满则直接在数组的最后加入元素。 public void push(int x) {if (full()) {elem Arrays.copyOf(elem,2*elem.length);}elem[usedSize]x;usedSize;}public boolean full() {if (usedSize elem.length) {return true;}return false;} 对于栈的实现出栈操作   在出栈的时候首先判断一下栈是否为空为空的话抛出EmptyException异常实现栈是否为空代码 public boolean empty() {//栈为空也就是数组里面没有元素return usedSize 0;} 出栈操作  public int pop() {if(empty()) {throw new EmptyException(栈为空); //自定义异常}int old elem[usedSize-1];usedSize--; //相当于删除return old;}自定义异常 public class EmptyException extends RuntimeException{public EmptyException(String msg) {super(msg);} }对栈的实现peek()操作 peek()操作是查看栈顶元素的值若栈为空则抛出EmptyException异常不空直接返回数组最后一个元素的值即可。 public int peek() {if(empty()) {throw new EmptyException(栈为空);}return elem[usedSize-1];} 对栈的实现栈的大小 栈的大小直接返回数组元素的个数即可。  public int size() {return usedSize;} 1.4 栈的应用场景  1. 改变元素的序列   1. 若进栈序列为 1,2,3,4 进栈过程中可以出栈则下列不可能的一个出栈序列是C      A: 1,4,3,2 B: 2,3,4,1 C: 3,1,4,2 D: 3,4,2,1 2. 一个栈的初始状态为空。现将元素 1 、 2 、 3 、 4 、 5 、 A 、 B 、 C 、 D 、 E 依次入栈然后再依次出栈则元素出栈的顺序是B 。     A: 12345ABCDE B: EDCBA54321 C: ABCDE12345 D: 54321EDCBA 2. 将递归转化为循环   比如逆序打印链表  // 递归方式 void printList(Node head){if(null ! head){printList(head.next);System.out.print(head.val );} } // 循环方式 void printList(Node head){if(null head){return;}StackNode s new Stack();// 将链表中的结点保存在栈中Node cur head;while(null ! cur){s.push(cur);cur cur.next;}// 将栈中的元素出栈while(!s.empty()){System.out.print(s.pop().val );} }
http://www.hkea.cn/news/14372041/

相关文章:

  • 用路由器建设网站小程序怎么找出来
  • 企业网站可以个人备案一个网站平台建设得多少钱
  • wordpress 会员管理插件阿里网站seo
  • 二手房网站建设书上海专业制作电子商务网站
  • 网站营销策略烟台做网站的价格
  • 凯杰建设有限公司官方网站舟山网站建设费用
  • 专业网站开发哪里找问卷调查网站赚钱
  • 阿里云网站备案入口安卓手机网站开发
  • 网站推广的方法有sem推广深圳罗湖企业网站建设报价
  • 网站运营 流程滁州网站建设推广
  • 做外贸没有网站需要什么条件施工企业资质证书延期
  • 400元网站建设建设网站需要多少钱济南兴田德润o地址
  • 网站建设思维小说排行榜2020前十名
  • 东莞网站设计如何形容网站做的好
  • 网站开发的阶段网络营销方案策划论文
  • 手机编程appseo社区
  • 龙岗网站设计公司一个销售网站的设计 应当是要
  • 做婚礼邀请函网站企业官网建站费用
  • 长沙专业网站设计18款禁用软件app排行
  • 个人网站设计与开发公司网站维护怎么做
  • 珠海模板网站建设今天最新新闻10条
  • wordpress可视化插件下载企业网站如何做seo
  • wordpress双语网站wordpress用户部门
  • 公司建设网站的步骤如何自学做网站
  • 哪些网站可以赚钱wordpress 如何购买主题
  • 企业网站做seo的优势怎么编写自己的网站
  • 做移动网站首页软餐饮企业网站建设方案书
  • 河南网站建设路怎么样子做网站
  • 网站界面设计欣赏企业培训机构网站源码
  • 织梦网站上传及安装良品铺子网站建设