您的位置:首页 > 编程语言 > Java开发

Java 数组模拟队列

2017-07-05 14:17 357 查看
/*
* 使用数组模拟队列
*/

package Queue;

public class Queue {  //队列类
private int maxSize;
private int[] queue;
private int rear;    //队尾指针
private int front;   //队头指针
private  int num;

public Queue(int s){  //初始化构造函数
maxSize = s;
queue = new int[s];
rear = -1;
front = 0;
num =0;
}

//插入方法
public void insertInQueue(int m) {
if (rear == maxSize -1) {
rear = -1;
}
queue[++rear] = m;   //对尾指针加+1,把值放在队列结尾
num++;
//      System.out.println("num"+num);
}

//取元素

public int getQueue() {
int temp= queue[front++];
if (front==maxSize) {        //处理循环
front=0;
}
num--;
//      System.out.println("temp"+temp);
return temp;
}

//是否为空
public boolean isEmpty() {
return (num==0);
}

//是否满
public boolean ifFull() {
return (num == maxSize);
}

//队列长度
public int len() {
return num;
}

public static void main(String[] args) {
Queue q = new Queue(5);

q.insertInQueue(1);
q.insertInQueue(2);
q.insertInQueue(3);
q.insertInQueue(4);
q.insertInQueue(5);

System.out.println("出队列:"+q.getQueue());
System.out.println("出队列:"+q.getQueue());

System.out.println("队列的长度"+q.len());

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息