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

建设网站具体的步骤成都网站建设策划

建设网站具体的步骤,成都网站建设策划,网页加速器手机版哪个好,新闻做的差的网站目录 1.概念 2.队列的使用 3.队列模拟实现 4.循环队列 5.双端队列 6.栈与队列的互相实现 6.1 用队列实现栈 6.2 用栈实现队列 1.概念 #xff08;1#xff09;队列是只允许在一端进行插入数据操作#xff0c;在另一端进行删除数据操作的特殊线性表#xff1b; 1队列是只允许在一端进行插入数据操作在另一端进行删除数据操作的特殊线性表 2队列具有先进先出后进后出的特点 3入队列进行插入操作的一端称为队尾 出队列进行删除操作的一端称为队头 2.队列的使用 在java中Queue是个接口底层是通过链表实现的其常用方法如下 方法功能boolean offer(E e)入队列E poll()出队列peek()获取队头元素int size()获取队列中有效元素的个数boolean isEmpty()检测队列是否为空 3.队列模拟实现 1包类关系 2TestMyQueue package TestMyQueue;import TestMyStack.EmptyException;public class MyQueue {// 使用单链表实现队列static class Node{public int val;public Node next;public Node(int val){this.val val;}}public Node head;public Node last;public int usedSize;public void offer(int val){Node newNode new Node(val);if(head null){head newNode;last newNode;}else{last.next newNode;last newNode;usedSize;}}public int poll(){if(isEmpty()){throw new EmptyException();}int ret head.val;head head.next;return ret;}public boolean isEmpty(){return usedSize 0;}public int peek(){if(isEmpty()){throw new EmptyException();}int ret head.val;return ret;}public int getUseSize(){return usedSize;} } 3EmptyException package TestMyQueue;public class EmptyException extends RuntimeException{public EmptyException(){} } 4.循环队列 题目链接622. 设计循环队列 - 力扣LeetCode 代码 class MyCircularQueue {private int[] elem;private int front; // 表示队列的头private int rear; // 表示队列的尾public MyCircularQueue(int k) {this.elem new int[k1];}public boolean enQueue(int value) {// 入队列判满if(isFull()){return false;}elem[rear] value;rear (rear1)% elem.length;return true;}public boolean deQueue() {// 判空if(isEmpty()){return false;}front (front1)% elem.length;return true;}public int Front() {if(isEmpty()){return -1;}return elem[front];}public int Rear() {if(isEmpty()){return -1;}int index (rear0)?elem.length-1:rear-1;return elem[index];}public boolean isEmpty() {return front rear;}public boolean isFull() {// 写法1 // if( (rear1) % elem.length front){ // return true; // } // return false;// 写法2return (rear1)% elem.length front;} } 5.双端队列 双端队列是指允许两端都可以进行入队和出队操作的队列 Deque是一个接口使用时必须创建其实现类类的对象 常用的实现类为ArrayDeque由数组实现的双端队列和LinkedList由双向链表实现的双端队列故而实例化Deque的方式有以下两种  // 链式双端队列DequeInteger deque new LinkedList();// 数组双端队列DequeInteger deque2 new ArrayDeque(); 注也可以使用Deque实现顺序栈 实际上以下写法 StackInteger stack new Stack(); 即直接使用Stack类实例化栈对象是很少用的可以使用ArrayDeque创建顺序栈对象 DequeInteger stack2 new ArrayDeque(); 6.栈与队列的互相实现 6.1 用队列实现栈 题目链接225. 用队列实现栈 - 力扣LeetCode 解题思路使用两个队列实现栈元素入栈至不为空的队列元素出栈在不为空的队列出栈size-1个元素最后余下的元素就是要出栈的元素如果两个队列均为空则入第一个队列 代码 public class MyStack {private QueueInteger queue1;private QueueInteger queue2;public MyStack() {queue1 new LinkedList();queue2 new LinkedList();}public void push(int x) {if(!queue1.isEmpty()){queue1.offer(x);}else if(!queue2.isEmpty()){queue2.offer(x);}else{queue1.offer(x);}}public int pop() {if(empty()){// 当前栈为空return -1;}if(!queue1.isEmpty()){int size queue1.size();for(int i0;isize-1;i){//for(int i0;iqueue1.size()-1;i){ //写法错误,poll会导致size变化int ret queue1.poll();queue2.offer(ret);}return queue1.poll();}else{int size queue2.size();for(int i0;isize-1;i){int ret queue2.poll();queue1.offer(ret);}return queue2.poll();}}public int top() {if(empty()){return -1;}if(!queue1.isEmpty()){int size queue1.size();int ret -1;for(int i0;isize;i){ret queue1.poll();queue2.offer(ret);}return ret;}else{int size queue2.size();int ret -1;for(int i0;isize;i){ret queue2.poll();queue1.offer(ret);}return ret;}}public boolean empty() {return queue1.isEmpty() queue2.isEmpty();} } 6.2 用栈实现队列 题目链接232. 用栈实现队列 - 力扣LeetCode 解题思路使用两个栈实现队列stack1用于入栈元素当需要出栈元素时若stack2不为空直接出栈stack2栈顶元素如果stack2为空就将stack1的所有元素入栈到stack2中再出栈stack2顶元素即可 代码 class MyQueue {private StackInteger stack1;private StackInteger stack2;public MyQueue() {stack1 new Stack();stack2 new Stack();}public void push(int x) {stack1.push(x);}public int pop() {if(empty()){return -1;}if(stack2.empty()){while(!stack1.empty()){stack2.push(stack1.pop());}}return stack2.pop();}public int peek() {if(empty()){return -1;}if(stack2.empty()){while(!stack1.empty()){stack2.push(stack1.pop());}}return stack2.peek();}public boolean empty() {return stack1.empty() stack2.empty();} }
http://www.pierceye.com/news/335204/

相关文章:

  • 班级网站建设方案网页美工的设计要点
  • 微网站搭建流程做网站的广告语
  • 那个网站做外贸canvas做的网站
  • 学做视频的网站wordpress上传大附件
  • 怎么做网站卖产品黄埭网站建设
  • 娱乐网站 建站软件学校网站建设栏目
  • 做调研有哪些网站网站建设策划书
  • 旺道网站排名优化建设网站需要做的工作
  • 设计公司网站 唐山本地备份wordpress
  • 淘宝客网站建设多少钱app网站开发案例
  • vs2008不能新建网站个性手绘个人网站模板下载
  • 西安好的网站建设公司西安高端网站制作公司哪家好
  • 网站分享按钮网站运营建站优化专家
  • 网站微信建设运维经验分享用cms创建自己带数据库的网站和在本机搭建网站运行平台的心得体会
  • wordpress建站吧做网站接专线费用
  • c 做网站设计广东seo点击排名软件哪里好
  • 微网站微网站seo服务理念
  • 建设网站招聘商标注册查询官网网站
  • 建设彩票网站合法吗新浪sae 搭建wordpress
  • 加热器网站怎么做的课程网站建设规划方案
  • 网站建设目标文档鄂州网站制作哪家好
  • 廉政建设网站微信运营
  • 什么样的网站结构适合做seo北京互联网建站网站
  • 工程科技 网站设计广东做seo的公司
  • 外贸都是在哪些网站做怎么做个手机版的网站
  • 北京社保网站做社保增减员锦绣大地seo官网
  • 分析影响网站排名的因素河南省住房和城乡建设厅网站文件
  • 宁城网站建设公司引流最好的推广方法
  • 辽宁省建设厅官方网站网站免费正能量直接进入浏览器下载安装
  • 怎么给公司建网站广州互联网营销师培训