队列是一种线性存储结构,他有以下特点:
1.队列中数据是按照“先进先出”方式进出队列的
2.队列只允许在“队首”进行删除操作,在“队尾”进行插入操作
3.队列通常包含两种操作:入队列和出队列
使用数组实现队列
定义一个类ArrayQueue
实现入队列方法push()
实现出队列方法pop()
实现返回队首方法front()
实现返回队列长度方法size()
public class ArrayQueue {
private int[] mArray;
private int mCount;
public ArrayQueue(int num) {
mArray=new int[num];
mCount=0;
}
/**
* 入队列
* @param item
*/
public void push(int item){
mArray[mCount]=item;
mCount++;
}
/**
* 出队列
* @return
*/
public int pop(){
int top=mArray[0];
mCount--;
//往前移动一元素
for(int i=1;i<=mCount;i++){
mArray[i-1]=mArray[i];
}
return top;
}
/**
* 队列长度
* @return
*/
public int size(){
return mCount;
}
/**
* 打印数组
*/
public void print(){
for(int i=0;i<=mCount-1;i++){
System.out.print(mArray[i]+",");
}
}
/**
* @param args
*/
public static void main(String[] args) {
ArrayQueue queue=new ArrayQueue(3);
queue.push(5);
queue.push(6);
queue.push(7);
queue.print();//输出 5,6,7,
queue.pop();
queue.print();//输出 6,7,
queue.push(8);
queue.print();//输出 6,7,8,
}
}