| 发表于:2007-01-08 20:10:046楼 得分:0 |
比如说 这段语句中的 return的具体作用是什么?? 谁能详细解说下啊`` 谢谢 public class myqueue{ private final int size; //整个队的大小(常量) private int[] queue; //队的数组 private int head; //队的头 private int end; //队的尾 public myqueue(int size) { //构造函数,当该类被实例化后,一个队列就创建了. size = size; queue = new int[size]; head = 0; end = 0; } private int next(int i){ //向下一个位置移动 return (i+1)%size; } public boolean isfull(){ //判断是否满 return next(end) == head; } public void offer(int data) throws exception{ //存入数据 // todo auto-generated method stub if(isfull()){ throw new exception( "queue is full "); }else{ queue[end]=data; end = next(end); } } public int poll() throws exception{ //读取数据 // todo auto-generated method stub if(isempty()){ throw new exception( "queue is empty "); }else{ int result = queue[head]; head = next(head); return result; } } public int size() { //判断大小 // todo auto-generated method stub return ((end+size)-head)%size; } public boolean isempty() { //判断是否为空 // todo auto-generated method stub return end == head; } /** * @param args */ public static void main(string[] args) { // todo auto-generated method stub myqueue mq = new myqueue(20); try { mq.offer(5); mq.offer(2); mq.offer(3); mq.offer(4); system.out.println( "1th poll: "+mq.poll()); mq.offer(8); } catch (exception e) { // todo: handle exception e.printstacktrace(); } for (int i = mq.head; i !=mq.end; i = mq.next(i)) { system.out.println(mq.queue[i]); } } } | | |
|