数据结构-队列(循环)-2015
2015-03-04 22:38
253 查看
循环队列,重点是队空 或 队满 的判断。
/** * 循环队列,重点是队空 或 队满 的判断 */ public class QueueDemo { private static int maxSize = 5; private Object[] array; private int front; //队头 private int rear; //队尾 private int nItems = 0; public QueueDemo(){ this(maxSize); } private QueueDemo(int size){ int front = 0; int rear = 0; array = new Object[size]; } public void insert(Object obj){ if(rear + 1 % maxSize == front){ System.out.println("队列满。"); return; } /*if(rear + 1 == maxSize) rear = 0;*/ array[rear] = obj; nItems++; if(this.isFull()){ throw new RuntimeException("队列满=========="); } rear = (rear + 1) % maxSize; } public Object remove(){ if( rear == front){ throw new RuntimeException("队列空=========="); } Object obj = array[front]; front = (front + 1) % maxSize; nItems--; return obj; } public Object peek(){ Object obj = array[front]; return obj; } public boolean isFull(){ boolean flag = false; if(nItems >= maxSize) flag = true; return flag; } public boolean isEmpty(){ boolean flag = false; if(nItems == 0) flag = true; return flag; } public int size(){ return nItems; } public void display(){ while(nItems > 0){ Object obj = this.remove(); System.out.println("-->" + obj); } } public static void main(String[] args){ QueueDemo queue = new QueueDemo(); /*测试1 队列满 queue.insert("a"); queue.insert("b"); queue.insert("c"); queue.insert("d"); queue.insert("e"); queue.insert("f"); */ /*测试2 队列空*/ queue.insert("a"); queue.insert("b"); queue.remove(); queue.remove(); queue.remove(); // queue.display(); System.out.println(queue); System.out.println("end========"); } }
相关文章推荐
- 数据结构:队列的顺序存储结构(循环队列)
- 数据结构——循环队列——2016_12_28
- 数据结构循环队列的基本操作(C语言)
- 数据结构学习笔记----循环队列
- 数据结构与算法(Python)——常见数据结构Part3(队列和循环队列)
- JavaScript数据结构之优先队列与循环队列实例详解
- 数据结构之循环队列
- 数据结构学习笔记 --- 队列(循环队列-队列的顺序表示和实现)
- 数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列
- 【数据结构】循环队列的front,rear指针以及队列满的条件、计算队列长度
- 数据结构与算法之—循环队列
- C#数据结构回顾之循环队列
- 数据结构-循环队列的基本实现操作
- 数据结构:队列的顺序存储结构(循环队列)
- 【2015-2016 XVI Open CupI】【交互题 队列筛法】Judgement 赌博机2^20内数循环1的个数为奇数赢 恰好赢到200元钱
- 数据结构(C实现)------- 顺序队列(循环队列之计数器实现)
- 数据结构之队列的顺序表示及其实现(循环队列)
- [数据结构]循环队列中判断队满与队空
- 数据结构 - - 链队列与循环队列
- 数据结构循环队列——数组模拟实现