java-模擬出棧入棧
阿新 • • 發佈:2018-11-22
package com.sc;
class stack{
int array[]=new int[20]; //定義棧的儲存結構,陣列後期會進行擴容
int size=0;//棧中存放資料的個數
/**
*
* push()函式用來進行入棧操作 無返回值
*/
public void push(int num){
if(size>=array.length){//判斷入棧個數是否超過儲存結構的最大值
//進行陣列擴充
int array_new []=new int [array.length*2 ];
//array中的資料全部copy到array_mew中
System.arraycopy(array, 0, array_new, 0, array.length);
array=array_new;
}else{
array[size++]=num;
}
}
/**
* pop()函式用來進行出棧操作 返回的出棧之前的棧頂元素
*/
public int pop(){
//判斷出棧是否越界
try {
return array[--size];
}catch(Exception e){
e.printStackTrace();return -1;
}
}
}
public class ExampleOfStack {
public static void main(String[] args) {
// TODO Auto-generated method stub
stack st=new stack();
st.push(1 );
st.push(2);
st.push(3);
st.push(4);
System.out.println(st.pop());
System.out.println(st.pop());
System.out.println(st.pop());
System.out.println(st.pop());
}
}