자바 세 가지 방법 으로 대기 열 실현

배열 구현 대기 열
//      
class queue{
	int[] a = new int[5];
	int i = 0;
	//    
	public void in(int m) {
		a[i++] = m;
	}
//	                                 
	public int out() {
		int index = 0;
		int temp = a[0];
		for(int j = 0;j < i;j++) {
			a[j] = a[j + 1];
		}
		return temp;
	}
	
}

ArrayList 구현 대기 열
//      
class queue{
	List list = new ArrayList();
	int index = 0;
	
	public void in(int n) {
		list.add(n);
		index++;
	}
	//     
	//  
    public int out(){  
       if(!list.isEmpty()){  
           index--;  
           return list.remove(0);  
       }  
       return -1;  
    }  
}

두 개의 스 택 이 대기 열 을 실현 하 다.
//          
class queue3 {

  Stack stackA = new Stack();
  Stack stackB = new Stack();

  //  
  public void in(int n) {
      stackA.push(n);
  }

  //       A           B     B         
  public int out() {
	  //  b          false     
      if(stackB.isEmpty()) {
    	  while(!stackA.isEmpty()) {
    		  stackB.push(stackA.pop());
    	  }
      }
      return stackB.pop();
  }

}

좋은 웹페이지 즐겨찾기