제네릭 큐의 자바 구현

클래스 노드 {
     INT (X);
    int로 Y를; 
} 

공용  클래스 테스트 { 
    
     공공  정적  무효 메인 (문자열 []에 args) { 
        이 MyQueue <문자열> Q = 새로운 MyQueue 인 <문자열> (); 
         q.push ( "XXX" ); 
         q.push ( "XXX" ); 
         q.push ( "XXX" ); 
         q.push ( "你" ); 
         q.push ( "真" ); 
         q.push ( "666!" ); 
         q.print ();
        에서 System.out.println (Q.


 이 MyQueue <T> {
     공공  INT HIndex = 0 ;
    공개  INT의 크기 = 0 ;
    공개  INT MAXSIZE = 0 ;
    공용 T 공간 []; 
    @SuppressWarnings ( "체크" )
     공중  부울 푸시 (T를 t) {
         경우 (MAXSIZE <= 사이즈) { 
            MAXSIZE = MAXSIZE + ((MAXSIZE >> 1)> 1 (MAXSIZE >> 1) : 1 ); 
            온도 T [] = (T []) 새로운 개체 [MAXSIZE];
            위한 ( int로 0 = 1을, 나는 크기 <; ++ I) {
                온도 [I] = 공간 [I]; 
            } 
            공간 = 온도; 
        } 
        공간 [크기 ++ =의 t;
        반환  사실 ; 
        
    } 
    공공  부울 팝업 () {
         경우 (! {IsEmpty 함수 ()) 
            HIndex ++ ; 
            크기 - ; 
        } 
        반환  사실 ; 
        
    } 
    공개  부울 IsEmpty 함수 () { 
        
        경우 (사이즈 == 0 ) {
             반환  ; 
        } 
        리턴  거짓 ;
    } 
    공개  부울 인쇄 () {
          ( INT I = HIndex; 나는 크기 <; ++ I) { 
            에서 System.out.println (공간 [I]); 
        } 
        반환  사실 ; 
    } 
    공공  INT GetMaxSize는 () {
         반환 MAXSIZE를; 
    } 
}

 

추천

출처www.cnblogs.com/z2529827226/p/11621034.html