5.1、キュー(Java実装)

図1に示すように、実装コード

パブリック クラスSeqQueue {
     プライベート 最終 int型のMaxSize = 8。;
     プライベート int型 REAR;   // キューのテール・ポインタ
    プライベート int型フロント;   // キューの先頭ポインタ
    プライベート int型の   サイズ;   // カウンタ
    プライベートオブジェクトseqQueueArray []; 

    / ** 
     *初期化
     * / 
    パブリックSeqQueue(){
         この .size = 0 ;
         この .front = 0 ;
         この .rear = 0 ; 
        seqQueueArray = 新しい新【のMaxSize]オブジェクト。
    } 

    パブリック ブールのisEmpty(SeqQueue seqQueue){
         場合(seqQueue.size == 0 ){
             戻り 
        } 
        を返す  
    } 

    パブリック ブールisFull(SeqQueue seqQueue){
         場合(seqQueue.size> 0 && seqQueue.rear == seqQueue.front){
             戻り 
        } 
        を返す  
    } 

    公共 ボイドqueueAppend(SeqQueue seqQueue、オブジェクト要素){
         もし(isFull(seqQueue)){
            System.out.println( "フル、挿入することはできません" );
             を返す; 
        } 
        のSystem.out.println(エレメント + "キュー要素に" ); 
        seqQueue.seqQueueArray [seqQueue.rear] = 要素; 
        seqQueue.rear =(seqQueue + +1 .rear)%のMaxSize; 
        seqQueue.size ++ ; 
    } 

    公共 ボイドqueueDelete(seqQueue seqQueue){
         IF ){(のisEmpty(seqQueue)
            のSystem.out.println( "空のキューができない" );
             を返します; 
        }
        System.out.printの(seqQueue.seqQueueArray [seqQueue.front] + "" ); 
        seqQueue.front =(seqQueue.front + +1)%のMaxSize; 
        seqQueue.size - ; 
    } 

    公共 ボイドgetFront(SeqQueue seqQueue){
         IF ( isEmpty(seqQueue)){ 
            するSystem.out.println( "空、キューの先頭を得ることができない" );
             を返す; 
        } 
        のSystem.out.println( "ヘッド要素:" + seqQueue.seqQueueArray [seqQueue.rear]); 
    } 


    パブリック 静的 ボイドメイン(文字列[]引数){ 
        seqQueue seqQueue =新しい SeqQueue();
        seqQueue.getFront(seqQueue)。
        seqQueue.queueDelete(seqQueue)。

        以下のためにint型、iが9 <; I = 0 iは++ ){ 
            seqQueue.queueAppend(seqQueue、I)。
        } 
        のSystem.out.println( "===========" )。
        seqQueue.queueDelete(seqQueue)。
        System.out.println( "===========" ); 

        int型の数= seqQueue.size。
        以下のためにint型私は++; iは番号を<I = 0 ){ 
            seqQueue.queueDelete(seqQueue)を、
        } 
        のSystem.out.println(); 
        seqQueue.queueDelete(seqQueue)。

    } 
}

結果を達成するために2、

、キューの先頭を取得することができない空の
空で、キューがない
キュー要素に0 
待ち行列要素に1 
キュー要素に2 
キュー要素に3 
待ち行列要素に4 
キュー要素に5 
キュー要素に6 
キュー要素に7が
挿入することができない、完全です
 =========== 
0 =========== 
1234567が 
空である、キューはできません

 

おすすめ

転載: www.cnblogs.com/karrya/p/11206438.html