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

Java简单队列的实现

2012-03-19 02:06 495 查看
/**
*
*/
package com.handy.ds;

/**
* @author handy
*
*/
public class SimpleQueue {
// 队列最大长度
private int maxSize;
// 队列数组
private int[] queue;
// 队头
private int front;
// 队尾
private int rear;
// 队列元素大小
private int size;

public SimpleQueue(int maxSize) {

this.maxSize = maxSize;
front = 0;
rear = -1;
size = 0;
queue = new int[maxSize];
}

/**
* @return the maxSize
*/
public int getMaxSize() {
return maxSize;
}

/**
* @param maxSize
*            the maxSize to set
*/
public void setMaxSize(int maxSize) {
this.maxSize = maxSize;
}

/**
* @return the queue
*/
public int[] getQueue() {
return queue;
}

/**
* @param queue
*            the queue to set
*/
public void setQueue(int[] queue) {
this.queue = queue;
}

/**
* @return the front
*/
public int getFront() {
return front;
}

/**
* @param front
*            the front to set
*/
public void setFront(int front) {
this.front = front;
}

/**
* @return the rear
*/
public int getRear() {
return rear;
}

/**
* @param rear
*            the rear to set
*/
public void setRear(int rear) {
this.rear = rear;
}

/**
* @return the size
*/
public int getSize() {
return size;
}

/**
* @param size
*            the size to set
*/
public void setSize(int size) {
this.size = size;
}

public boolean isFull() {
if (size == maxSize)
return true;
else
return false;
}

public boolean isEmpty() {
if (size == 0)
return true;
else
return false;
}

public void enQueue(int number) {
if (!isFull()) {
if (rear == maxSize - 1)
// 队列循环
rear = -1;

queue[++rear] = number;
size++;
} else
System.out.println("队列满了!");
}

public int deQueue() {
if (!isEmpty()) {
int temp = queue[front++];
// 队列循环
if (front == maxSize)
front = 0;
size--;

return temp;
} else {
System.out.println("空队列!");
return -1;
}
}

// 返回队头,不改变队列大小
public int queueFront() {
if (!isEmpty()) {
return queue[front];
} else {
System.out.println("空队列!");
return -1;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: