隊列是一種線性存儲結構,他有以下特點:
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,
}
}