アナログデータ構造スタックアレー

即ちスタックの特性は、最終アナログのアレイ用いてスタックを、この特性を達成するためにスタックポインタ(インデックス)によって主に定義されます。

ポインタの初期位置は-1

以下のコードを示しています。

パッケージcom.ebiz.stack; 

/ ** 
 * @author YHJ 
 * @Create 2019年7月20日14時20分
 *アナログスタック配列
 * / 

パブリック クラスArrayStack { 

    プライベート  int型maxSizeと;
     プライベート  int型 [] ARR;   // 配列のスタックシミュレーション
    プライベート  INTトップ= -1 ; 

    // コンストラクタは、配列を初期化
    パブリック(ArrayStack INT maxSizeの){
         この .maxSizeが= 、maxSizeの
         この .arr = 新しい新しい INT ; maxSizeのを] 
    } 

    // スタックフル検証
    公開 ブールisFull(){
         戻りトップ- == maxSizeの1。; 
    } 

    // 空の確認
    パブリック ブールのisEmptyを(){
         戻りトップ== -1 ; 
    } 

    // スタック
    公共 ボイドプッシュ(INTの値){
         IF (isFull() ){ 
            System.out.printlnは( "フルスタック" );
             リターン; 
        } 
        トップ ++ ; 
        ARR [トップ] = 値; 
    } 

    // ポップ
    公共 のintPOP(){
         IF (のisEmpty()){
             スロー 新新のRuntimeException( "空のスタック" ); 
        } 
        int型の値= ARR [トップ]; 
        トップ - ;
         戻り値; 
    } 

    // 一筆スタック
    公共 ボイドリスト(){
         IF (のisEmpty()){
             スロー 新しい新規のRuntimeException( "空のスタック" ); 
        } 
        一方、真の){
             IF (のisEmpty()){ 
                するSystem.out.println( "空のスタック" )。
                BREAK ; 
            } 
            System.out.printf( "アウトバウンド要素は、N-%D%である" 、ARR [トップ]); 
            トップ - ; 
        } 
    } 
}

アナログスタックアレイは、与えられたポップは、プッシュは、リストのいくつかの簡単な方法は、テストクラスは、以下の通りであります

パッケージcom.ebiz.stack; 

/ ** 
 * @author YHJ 
 * @Create 2019年7月20日15時11 
 * / 
パブリック クラスのテスト{ 

    公共 静的 ボイドメイン(文字列[]引数){ 

        // 初期化スタック 
        ArrayStackスタック= 新しい新 ArrayStack(5 ); 

        // 要素を追加
        するためにINT I = 1; I <= 5; I ++ ){ 
            stack.push(I); 
        } 

        // スタック取得
        するSystem.out.printlnを(stack.pop())。
        System.out.println(stack.pop()); 

        // スタックトラバース
        stack.list()。

    } 
}

 

おすすめ

転載: www.cnblogs.com/jiushixihuandaqingtian/p/11240980.html