显示队列内容
2016-02-29 10:15
453 查看
4.1 为queue.java 程序(清单4.4)的Queue类中写一个方法,显示队列的 内容。注意这并不是要简单的显示出数组的内容。它要求按数据项插入的队 列的顺序,从第一个插入的数据项到最后一个插入的数据项显示出来。不要 输出因为在数组末端回绕而折成两半的样子。注意无论front和rear在什么位置上,都要正确显示出一个数据项和没有数据项的情况。
public class Queue { private int maxSize; private long[] queArray; private int front; private int rear; private int nItems; public Queue(int s){ maxSize=s; queArray = new long[maxSize]; front=0; rear=-1; nItems=0; } public void insert(long j){ if(rear==maxSize-1) rear=-1; queArray[++rear]=j; nItems++; } public long remove(){ long temp = queArray[front++]; if(front==maxSize) front=0; nItems--; return temp; } public long peekFront(){ return queArray[front]; } public boolean isEmpty(){ return (nItems==0); } public boolean isFull(){ return (nItems==maxSize); } public int size(){ return nItems; } //==================================================== //编程作业4.1 public void display(){ System.out.print("队列为: "); if(nItems==0){ System.out.println("空。 "); return; } if(rear>=front){ for(int i =front;i<=rear;i++){ System.out.print(queArray[i]+" "); } } else{ for(int i =front;i<maxSize;i++){ System.out.print(queArray[i]+" "); } for(int i =0;i<=rear;i++){ System.out.print(queArray[i]+" "); } } System.out.println(); } }
public class QueueApp { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Queue theQueue = new Queue(5); theQueue.insert(10); theQueue.insert(20); theQueue.insert(30); theQueue.insert(40); theQueue.remove(); theQueue.remove(); theQueue.remove(); theQueue.insert(50); theQueue.insert(60); theQueue.insert(70); theQueue.insert(80); theQueue.display(); while(!theQueue.isEmpty()){ long n = theQueue.remove(); System.out.print(n); System.out.print(" "); } System.out.println(""); } }
相关文章推荐
- 队列queue的详细讲解
- BlockingQueue深入分析
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- STL序列式容器之队列——queue
- UVa 540
- poj 2478: Farey Sequence
- 创建 maven maven-archetype-quickstart 项目抱错问题解决方法
- leetcode 304. Range Sum Query 2D - Immutable
- easyui combobox加载内嵌对象赋值
- request.getParameter与request.getParameterNames以及request.getParameterValues的区别
- UIView事件传递
- easyui序号实现累加
- UIKit框架(4)App应用沙盒
- UINavigationController之NavigationItem
- 十七、Uiautomator 快速调试
- UiAutomator的使用过程
- iOS 开发之动画篇 - 从 UIView 动画说起
- MySQL Packet for query is too large
- 引导页和发起页框架简单自定义/LXGuideAndLaunch
- 妄谈UI设计