java實現順序棧

來源:互聯網
上載者:User

標籤:

順序棧類的代碼:

package sequencestack;public class SequenceStack {private int STACK_INIT_SIZE = 5;//棧的原始大小private int INCREMENT =1;//棧的增量大小private Object []Stack = null;private int base;private int top;private int stacksize;/** * 初始化棧 * */void initStack(){Stack = new Object[STACK_INIT_SIZE];base=0;top=0;stacksize=0;}/** * 入棧 * */void push(Object o){if(top-base>=STACK_INIT_SIZE){System.out.println("擴充棧");STACK_INIT_SIZE=STACK_INIT_SIZE+INCREMENT;Object []temp = new Object[STACK_INIT_SIZE];for(int i=0;i<stacksize;i++){temp[i]=Stack[i];}Stack=null;Stack=temp;}Stack[stacksize] = o;stacksize++;top++;}/** * 出棧 * */Object pop(){Object o = null;if(top==base){System.out.println("棧中沒有元素!返回null");}else{o=Stack[--top];stacksize--;}return o;}/** * 取棧頂元素 * */Object getTop(){Object o = null;if(top==base){System.out.println("棧中沒有元素!返回null");}else{o=Stack[top-1];}return o;}/** * 列印棧 * */void print(){System.out.print("列印棧:");for(int i=0;i<stacksize;i++){System.out.print(Stack[i]+"\t");}System.out.println();}}

順序棧測試代碼:

package sequencestack;public class SequenceStackMain {public static void main(String[] args) {SequenceStack sStack = new SequenceStack();sStack.initStack();sStack.pop();sStack.push(1);sStack.push(2);sStack.push(3);sStack.push(4);sStack.push(5);sStack.push(6);sStack.push(3);sStack.print();sStack.pop();sStack.pop();sStack.pop();sStack.pop();sStack.print();System.out.println("取棧頂元素:"+sStack.getTop());sStack.print();}}

  

java實現順序棧

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.