Java数据结构与算法---队列
2017-06-10 18:15
176 查看
Java数据结构与算法—队列
本代码使用数组实现队列,通过一个判断方法实现了循环队列
源代码如下:
package cn.h_queue; public class QueueArray { private int[] a; //最大空间 private int size; //有效位 private int ele; private int font; private int end; public QueueArray(int s){ size=s; a = new int[size]; ele=0; font=0; end=-1; } //是否为空 public boolean isEmpty(){ return (ele==0); } //是否满 public boolean isFull(){ return (ele==size); } //如果font==size就重新归位(实现了循环队列) public void rollback(){ if(isEmpty()&&size==font){ ele=0; font=0; end=-1; System.out.println("font ==end,重新归位!"); } } //入队 public void insert(int x){ rollback(); if(!isFull()){ a[++end]=x; ele++; }else{ System.out.println("队列满了 不能插入"); } } //出队 public int remove(){ if(!isEmpty()){ ele--; return a[font++]; } System.out.println("队列为空!不能出队"); return -1; } public static void main(String[] args) { QueueArray que = new QueueArray(4); que.insert(1); que.insert(2); que.insert(3); que.insert(4); que.insert(5); que.insert(6); for(int i=0;i<6;i++){ System.out.println("出队:"+que.remove()); } //////////////再入///////////// System.out.println("///////////////////////"); que.insert(5); que.insert(6); for(int i=0;i<3;i++){ System.out.println("出队:"+que.remove()); } } }
相关文章推荐
- Java数据结构与算法(10) - ch05链表实现队列(Link Queue)
- 【java数据结构与算法学习】队列
- Java数据结构与算法(4) - ch04队列(Queue和PriorityQ)
- java数据结构与算法之双向循环队列的数组实现方法
- java实现顺序表,链表,栈,队列_数据结构与算法
- java数据结构与算法-双端链表实现队列
- 数据结构与算法 ---- 线性表 及Java实现 顺序表、链表、栈、队列
- Java数据结构与算法(三)-栈和队列
- 数据结构与算法(Java描述)-10、链式队列以及优先级队列的应用
- 【Java数据结构学习笔记之三】Java数据结构与算法之队列(Queue)实现
- 数据结构与算法(java)——栈和队列
- 数据结构与算法Java描述 队列
- Java数据结构与算法之队列
- Java数据结构与算法之顺序表和链表实现栈和队列
- 数据结构与算法 ---- 线性表 及Java实现 顺序表、链表、栈、队列
- <八>java数据结构与算法 队列 与 循环队列
- 一个Java8模型的batch队列
- Java数组实现堆栈和队列
- java中的队列