棧(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, } }