자료구조

스택 & 큐

깊게 생각하고 최선을 다하자 2022. 7. 1. 13:34

Q1. 스택을 구현하라

class Stack{

   public int[] arr;
   static public int size;	
   static public int arrLen;

   public Stack(int len){
      arr = new int[len];
      arrLen = len; 
      size = -1; 
   }
   
   
   public void push(int num){
      
      if(size == arrLen){
          System.out.println("Stack is full");
      }
      
      arr[size++] = num;
   }
   
   public int pop(){
      if(size == -1){
         System.out.println("Stack is empty");
      }
   
      return arr[size--];
   }
   
   public int peek(){
   	  
      if(size == -1){
         System.out.println("Stack is empty");
      }
   
      return arr[size];
   }
    
 }

 

Q2. 큐를 구현하라

class Queue{

    public static int [] arr;
    public static int size;
    public static int arrLen;
    
	public Queue(int len){
       arr = new int[len];
       arrLen = len; 
       size = -1; 
    }
   

    public void enqueue(int num){
        if(size == arrLen){
          System.out.println("Queue is Full");
        }
        arr[size++] = num;
    }
    
    
    public int dequeue(){
       
       if(size == -1){
         System.out.println("Queue is Empty");
       }
    
       int num = arr[0];
       for(int i=1; i<size; i++){
          arr[i-1] = arr[i];
       }
       return num;
    }
    
    public int peek(){
      
       if(size == -1){
         System.out.println("Queue is Empty");
       }
    
       return arr[size]; 
    }


}