2017年7月29日 星期六

(Java) Stack

  1. import java.util.Scanner;  
  2.   
  3. public class Stack {  
  4. static int  Top = -1 ; //頂端指標  
  5. static int Max_size   = 5 ; //陣列值  
  6. static int[] stack ;   
  7.  public Stack() {  
  8.       stack = new int[Max_size ];  
  9.  }  
  10.  public static boolean push(int value){//加入值  
  11.   if(Top >= Max_size-1){  
  12.    System.out.println("堆疊已滿 !!");  
  13.    return false ;  
  14.   }  
  15.    Top++;  
  16.    stack[Top] = value ;  
  17.    return true ;  
  18.  }  
  19.   public static int pop(){//取出值  
  20.         if(Top == -1){  
  21.          return -1 ;  
  22.         }  
  23.         return stack[Top--];  
  24.      }  
  25.   public boolean isEmply(){  
  26.     if(Top == -1){  
  27.           return true ;  
  28.          }  
  29.     return false ;  
  30.   }  
  31.   public boolean isFull(){  
  32.    if(Top >= Max_size-1){  
  33.           return true ;  
  34.          }  
  35.     return false ;  
  36.   }  
  37.   public static void main(String[] args){  
  38.    new Stack();  
  39.    Scanner sc = new Scanner(System.in) ;   
  40.    while(true){  
  41.   System.out.println("(0:PUSH 1:POP") ;  
  42.     int s = sc.nextInt() ;  
  43.     if(s == 0 ){  
  44.      System.out.print("輸入值 : ");  
  45.      int i = sc.nextInt();  
  46.      push(i) ;  
  47.        
  48.     }  
  49.     else if(s == 1)  {  
  50.      System.out.println(pop()) ;  
  51.      }  
  52.     else{  
  53.      for(int i : stack)  
  54.       System.out.print(i+"  ");  
  55.     }  
  56.    }  
  57.   }  
  58. }  
  59.        

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。