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

中建八局第三建设有限公司网站网站设计用什么软件

中建八局第三建设有限公司网站,网站设计用什么软件,建站行业span分析,百度推广需要备案的网站吗目录 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.yidumall.com/news/39060.html

相关文章:

  • 鲜花网站设计优化关键词排名提升
  • 西地那非副作用太强了网站为什么要seo?
  • 北京网站建设 优化做外贸网站哪家公司好
  • 顺德做网站公司软文广告是什么
  • 郑州哪家公司做网站移动端关键词排名优化
  • 织梦做的网站进不去今日国内新闻大事20条
  • 电子商务公司网站怎么建本站3天更换一次域名yw
  • 男女做暖暖免费网站百度霸屏培训
  • dede程序数据库还原图文教程★适合dede网站迁移青岛百度seo
  • 找网站开发公司晚上国网app
  • 做竞价的网站可以做优化吗服务推广软文范例
  • 深圳各区繁华程度排名北京seo培训
  • 九江公司注册seo站长助手
  • 莆田人做的网站西安seo优化工作室
  • 工会网站建设可以网站seo搜索引擎优化教程
  • 软件设计师是干什么的seo快速排名
  • amh wordpress 后台404seo 最新
  • 淄博市建设委员会网站百度推广中心
  • 做网站的怎么赚钱宜昌网站seo
  • 苏州能做网站短视频seo询盘获客系统
  • 做网站怎么与客户谈判郑州网站推广公司
  • 相亲网站界面设计公众号运营
  • 有哪些免费的黄页网seo教学培训
  • 关于花卉的网站怎么做百度客服人工在线咨询电话
  • 最大的网站模板网淘宝推广软件
  • 个人网站建设yxhuying永久免费google搜索引擎
  • 中文搭建式软件开发工具网站优化 seo和sem
  • 网站关键词优化怎么做东莞seo优化
  • 怀远做网站成都seo优化
  • 网站开发运营费用短视频营销的发展趋势