棧(stack)是一種線性存儲結構,有以下特點:
1.棧中數據是按照先進後出的方式進出棧的
2.向棧中添加刪除元素時,只能從棧頂進行操作
使用數組實現棧
定義一個類ArrayStack
實現入棧方法push()
實現出棧方法pop()
實現返回棧頂元素方法peek()
public class ArrayStack {
private int[] mArray;
private int mCount;
public ArrayStack(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[mCount-1];
mCount--;
return top;
}
/**
* 返回棧頂元素
* @return
*/
public int peek(){
return mArray[mCount-1];
}
/**
* 打印
*/
public void print(){
for(int i=0;i<=mCount-1;i++){
System.out.print(mArray[i]+",");
}
}
/**
* @param args
*/
public static void main(String[] args) {
ArrayStack stack=new ArrayStack(3);
stack.push(5);
stack.push(6);
stack.push(7);
//stack.print();//輸出 5,6,7,
stack.pop();
//stack.print();//輸出 5,6,
stack.push(8);
stack.print();//輸出 5,6,8,
}
}