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

wordpress 注册 邮件沧浪seo网站优化软件

wordpress 注册 邮件,沧浪seo网站优化软件,网站建设要用多少种字体,公共法律服务网站平台建设预算目录 1. 概念 2. 栈的使用 3. 自己动手实现栈(使用动态数组实现栈) 1. 创建一个MyStack类 2. push入栈 3. pop出栈 4. 查看栈顶元素 5. 判断栈是否为空与获取栈长 6. toString方法 4. 整体实现 4.1 MyStack类 4.2 Test类 4.3 测试结果 1.…

目录

1. 概念

2. 栈的使用 

3. 自己动手实现栈(使用动态数组实现栈) 

1. 创建一个MyStack类

2. push入栈

3. pop出栈

4. 查看栈顶元素

5. 判断栈是否为空与获取栈长

6. toString方法

4. 整体实现

4.1 MyStack类

4.2 Test类

4.3 测试结果


1. 概念

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

2. 栈的使用 

public static void main(String[] args) {Stack<Integer> stack = new Stack<>();
//        将e入栈,并返回estack.push(1);stack.push(2);stack.push(3);stack.push(4);stack.push(5);
//        将栈顶元素出栈并返回System.out.println(stack.pop());
//        获取栈顶元素System.out.println(stack.peek());
//        检测栈是否为空System.out.println(stack.empty());
//        获取栈中有效元素个数System.out.println(stack.size());System.out.println(stack);}

3. 自己动手实现栈(使用动态数组实现栈) 

1. 创建一个MyStack类

思路图:

import java.util.Arrays;
import java.util.NoSuchElementException;
//使用泛型
public class MyStack<E> {private Object[] data;private int size;public MyStack(int capacity){this.data = new Object[capacity];}public MyStack(){this.data = new Object[10];}}

2. push入栈

public E push(E val){data[size ++] = val;if(size == data.length){data = Arrays.copyOf(data,data.length<<1);}return val;}

3. pop出栈

public E pop(){if (isEmpty()){throw new NoSuchElementException("stack is empy,cannot pop!");}E oldVal = (E)data[size - 1];size --;return oldVal;}

4. 查看栈顶元素

public E peek(){if (isEmpty()){throw new NoSuchElementException("stack is empy,cannot peek!");}return (E)data[size - 1];}

5. 判断栈是否为空与获取栈长

public boolean isEmpty() {return size == 0;}public int size(){return size;}

6. toString方法

public String toString() {StringBuilder sb = new StringBuilder();sb.append("bottom [");for (int i = 0; i < size; i++) {sb.append(data[i]);if(i < size - 1){sb.append(",");}}sb.append("] top");return sb.toString();}

4. 整体实现

4.1 MyStack类

package seqlist.stack_queue;import java.util.Arrays;
import java.util.NoSuchElementException;public class MyStack<E> {private Object[] data;private int size;public MyStack(int capacity){this.data = new Object[capacity];}public MyStack(){this.data = new Object[10];}public E push(E val){data[size ++] = val;if(size == data.length){data = Arrays.copyOf(data,data.length<<1);}return val;}public boolean isEmpty() {return size == 0;}public int size(){return size;}public E pop(){if (isEmpty()){throw new NoSuchElementException("stack is empy,cannot pop!");}E oldVal = (E)data[size - 1];size --;return oldVal;}public E peek(){if (isEmpty()){throw new NoSuchElementException("stack is empy,cannot peek!");}return (E)data[size - 1];}@Overridepublic String toString() {StringBuilder sb = new StringBuilder();sb.append("bottom [");for (int i = 0; i < size; i++) {sb.append(data[i]);if(i < size - 1){sb.append(",");}}sb.append("] top");return sb.toString();}
}

4.2 Test类

public static void main(String[] args) {MyStack<Integer> stack = new MyStack<>();
//        将e入栈,并返回estack.push(1);stack.push(2);stack.push(3);stack.push(4);stack.push(5);System.out.println("将栈顶元素出栈并返回");System.out.println(stack.pop());System.out.println("获取栈顶元素");System.out.println(stack.peek());System.out.println("检测栈是否为空");System.out.println(stack.isEmpty());System.out.println("获取栈中有效元素个数");System.out.println(stack.size());System.out.println(stack);}

4.3 测试结果

 【例题】一个栈的入栈序列为ABCDE,则不可能的出栈序列为( )

        A. ABCDE

        B. EDCBA

        C. DCEBA

        D. ECDBA

稳妥的做法是画图逐个选项检测,大概率是不会出错的,

如果是E先出,说明ABCDE都已经全部入栈,E出栈之后,此时栈顶元素是D,如果再要出栈应该是D,而不应该是C。故应该选择D。

http://www.laogonggong.com/news/510.html

相关文章:

  • 网站banner设计互联网广告平台有哪些
  • 网站备案中 解析地址推广什么软件可以长期赚钱
  • 新西兰注册公司做网站电商平台发展现状与趋势
  • 网站建设问题调查微商软文推广平台
  • wordpress弹框seo优化工具哪个好
  • 做网站买空间品牌宣传策略
  • 可以用来做简单的网络验证的网站旺道seo软件技术
  • 在线教育类网站模板苏州优化seo
  • 互联网网站建设咨询seo网络推广是什么意思
  • 怎么把在微企点做响应式网站济南头条新闻热点
  • 动完网站设计网站最快的新闻发布平台
  • 猪八戒做网站怎么样网络推广外包怎么接单
  • 网站做担保交易 是否资质上海职业技能培训机构
  • 网站应用系统设计方案视频号怎么付费推广
  • 广州 行业 网站建设百度关键词优化培训
  • 动态网站制作基础建议谷歌代运营
  • 普陀集团网站建设手机百度搜索app
  • 北京做网站的大公司有哪些推广公司app主要做什么
  • 北京网站制作多少钱衡阳网站建设
  • 宜昌住房和城乡建设厅网站整站优化
  • 网站用ai做还是ps南宁seo排名优化
  • 靠谱的做任务赚钱网站百度竞价推广是什么意思
  • 网站建设算无形资产吗最近一周新闻大事件
  • 成都网站建设科技公司app安装下载
  • 曲阜建设局网站企业网站建设要多少钱
  • 做网站还是做公众号如何优化百度seo排名
  • 建设网站的 成本阿里云域名购买
  • 邢台发广告的平台有哪些西安网站seo外包
  • 兖州城乡建设局网站一手app推广接单平台
  • 建设购物网站多少钱设计网络营销方案