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

杭州建设职业学校网站重庆seo什么意思

杭州建设职业学校网站,重庆seo什么意思,购物型网站建设,十大永久免费的软件下载目录​​​​​​​ 前言 1、栈 2、队列 2.1、实现队列 2.2、循环队列 前言 上一篇中我们介绍了数据结构基础中的《动态数组》#xff0c;本篇我们继续来学习两种基本的数据结构——栈和队列。 1、栈 特点#xff1a;栈也是一种线性结构#xff0c;相比数组#xff…目录​​​​​​​ 前言 1、栈 2、队列 2.1、实现队列 2.2、循环队列 前言 上一篇中我们介绍了数据结构基础中的《动态数组》本篇我们继续来学习两种基本的数据结构——栈和队列。 1、栈 特点栈也是一种线性结构相比数组栈对应的操作是数组的子集只能从一端添加元素也只能从同一端取出元素这一端称为栈顶。栈是一种后进先出的数据结构即Last In First Out(LIFO)。 上面说到栈对应的操作是数组的子集因此我们就基于上一篇中实现的动态数组来快速的实现一个栈。 首先定义一个接口定义相关功能方法 然后让栈来实现接口中的具体功能 import arr.Array;public class ArrayStackE implements StackE {ArrayE array;public ArrayStack(int capacity) {array new Array(capacity);}public ArrayStack() {array new Array();}public int getCapacity() {return array.getCapacity();}Overridepublic int getSize() {return array.getSize();}Overridepublic boolean isEmpty() {return array.isEmpty();}Overridepublic void push(E e) {array.addLast(e);}Overridepublic E pop() {return array.removeLast();}Overridepublic E peek() {return array.getLast();}Overridepublic String toString() {StringBuilder res new StringBuilder();res.append(Stack).append([);for (int i 0; i array.getSize(); i) {res.append(array.get(i));if (i ! array.getSize() - 1) {res.append(,);}}res.append(] Top);return res.toString();} } 写一个测试方法 执行结果如下 2、队列 2.1、实现队列 队列也是一种线性结构相比数组队列对应的操作也是数组的子集队列只能从一端队尾添加元素只能从另一端队首取出元素。队列是一种先进先出的数据结构先到先得即First In First OutFIFO。 由于队列对应的操作同样是数组的子集那么我们让然也是基于上一篇中实现的动态数组来快速的实现一个栈。  定义一个接口定义相关功能方法 然后让队列来实现接口中的具体功能 import arr.Array;public class ArrayQueueE implements QueueE {private ArrayE array;public ArrayQueue(int capacity) {array new Array(capacity);}public ArrayQueue(){array new Array();}public int getCapacity(){return array.getCapacity();}Overridepublic int getSize() {return array.getSize();}Overridepublic boolean isEmpty() {return array.isEmpty();}Overridepublic void enqueue(E e) {array.addLast(e);}Overridepublic E dequeue() {return array.removeFirst();}Overridepublic E getFront() {return array.getFirst();}Overridepublic String toString() {StringBuilder res new StringBuilder();res.append(Queue:).append(Front [);for (int i 0; i array.getSize(); i) {res.append(array.get(i));if (i ! array.getSize() - 1) {res.append(,);}}res.append(] tail);return res.toString();} } 同样的写一个测试类 执行结果如下 2.2、循环队列 初始时front和tail都是指向下标为0的位置当有元素入队时tail指向该元素的下一个位置(tail1)%capacity元素出队时front向后移动一个位置因此循环队列有元素出队时无需让所有的元素都移动一个位置只需让front的指向移动一次即可示意图如下 ​​​​​​​ 下面我们来通过代码看一下循环队列该怎么实现 public class LoopQueueE implements QueueE {private E[] data;private int front, tail;private int size;public LoopQueue(int capacity) {data (E[]) new Object[capacity 1];front 0;tail 0;size 0;}public LoopQueue() {this(10);}public int getCapacity() {return data.length - 1;}Overridepublic int getSize() {return size;}Overridepublic boolean isEmpty() {return front tail;}Overridepublic void enqueue(E e) {if ((tail 1) % data.length front) {resize(getCapacity() * 2);}data[tail] e;tail (tail 1) % data.length;size;}private void resize(int newCapacity) {E[] newdata (E[]) new Object[newCapacity 1];for (int i 0; i size; i) {newdata[i] data[(i front) % data.length];}data newdata;front 0;tail size;}Overridepublic E dequeue() {if (isEmpty()) {throw new IllegalArgumentException(队列为空);}E ret data[front];data[front] null;front (front 1) % data.length;size--;if (size getCapacity() / 4 getCapacity() / 2 ! 0) {resize(getCapacity() / 2);}return null;}Overridepublic E getFront() {if (isEmpty()) {throw new IllegalArgumentException(队列为空);}return data[front];}Overridepublic String toString() {StringBuilder res new StringBuilder();res.append(String.format(Queue: size%d,capacity%d\n, size, getCapacity())).append(front [);for (int i front; i ! tail; i (i 1) % data.length) {res.append(data[i]);if ((i1)%data.length ! tail) {res.append(,);}}res.append(] tail);return res.toString();} } 同样的测试程序 执行结果如下 好了关于栈和队列的内容就说这么多吧咱们下期再会 祝工作顺利
http://www.hkea.cn/news/14319288/

相关文章:

  • 网站开发设计工具陕西网站建设排名
  • 天津正规制作网站公司小企业管理系统
  • 视频网站开发前景如何做的网站浏览器提示不安全
  • 南通网站建设.镇江网站建设一般多少钱
  • 在哪个网站可以做酒店预定单太原网站建设价格套餐
  • 做网站找哪里南宁网站建设托管
  • 在线推广企业网站的方法网站界面(ui)设计形考任务1
  • dede网站404怎么做网站建设计划书下载
  • 如何设计网站站点成都广告设计公司有哪些
  • 网站维护服务基本内容百度广告
  • 新乡手机网站建设官网企业做网站的目的是什么
  • 建设带数据搜索的网站免费 成品模板网站
  • 云南网站建设快速优化辽宁省建设工程信息网32位浏览器
  • 网站设计与制作的过程网站案例模板
  • 网站怎么做关键词流量wordpress 同步预览
  • 青岛公司网站建设开发文山专业网站建设哪家好
  • 云南做企业网站多少钱权威网站建设
  • 网站做影集安全吗优化网站被百度屏
  • 网站建设需求表格时装+wordpress
  • 网站ip地址范围免费生成app
  • 免费ftp转换wordpress上海专业优化排名工具
  • 网站建设报价明细模板平面设计图网站有哪些?
  • 呼市品牌网站建设那家好专业的天津网站建设
  • 网站后期运营方案步骤制作网页按钮
  • 瓜子二手车网站开发安康网站制作
  • phpstudy网站端口什么是网站关键词
  • 哪个网站做自考题目免费国外便宜域名注册商
  • 网站策划书总结怎么创建微信小程序店铺
  • 如何简单制作自己的网站公司网站模板免费下载
  • 网站标题作弊app推荐