数据结构-队列(循环)-2015
来源:互联网 发布:网络诈骗举报电话多少 编辑:程序博客网 时间:2024/06/05 03:39
循环队列,重点是队空 或 队满 的判断。
/** * 循环队列,重点是队空 或 队满 的判断 */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========"); }}
0 0
- 数据结构-队列(循环)-2015
- 【数据结构】队列-循环队列
- 【数据结构-队列】循环队列
- 数据结构(队列):循环队列
- 数据结构-08 队列(循环队列)
- 数据结构之循环队列
- 循环队列(数据结构)
- 数据结构_循环队列
- 数据结构--循环队列
- 数据结构----循环队列
- 数据结构之循环队列
- 【数据结构】线性循环队列
- 数据结构之循环队列
- 【数据结构】非循环队列
- 数据结构--循环队列算法
- 数据结构之循环队列
- 数据结构_循环队列
- 【数据结构基础】循环队列
- Download模块 (二十)
- eclipse调试java程序的九个技巧
- 2015 HNU warm up 07
- Unity,APK资源优化
- 程序员生存定律-打造属于自己的稀缺性
- 数据结构-队列(循环)-2015
- Linux网络编程之简单总结
- 虚析构函数? vptr? 指针偏移?多态数组? delete 基类指针 内存泄漏?崩溃? .
- VirtualBox之vdi、vhd、vmdk虚拟硬盘格式相互转换
- platform虚拟总线
- 程序不死板【上】
- 查找网卡所用的驱动
- hduoj2503(a/b + c/d)
- 关于51单片机读锁存器、读引脚的问题