Javaデータ構造 - スタック

クラスMyStack {
     // 我々がデータストアにアレイを使用スタックの底
    のint []の要素を、

    パブリックMyStack(){ 
        要素 = 新しい新しい INT [0 ]; 
    } 

    // 押さ素子
    公共 ボイドプッシュ(int型素子){
         // 作成新しい配列
        INT [] = newArr 新しい新しい INT [elements.length用+ 1 ];
         // 新しい配列への配列のコピー元の要素
        のためには、int型 ; I <elements.length I ++はI = 0 ){ 
            newArr [Iを] = 要素[I]; 
        }
        // 新しい配列に追加される要素 
        newArr [elements.length] = 要素;
         // 新しい配列は、古いアレイ置き換え 
        要素= newArrを; 
    } 

    // トップ要素削除
    パブリック int型(POP)を{
         // スタックどの要素ない
        IF(elements.length == 0 ){
             スロー 新しい新規のRuntimeException(「スタックが空である」); 
        } 
        // 配列の最後の要素削除
        のint要素要素= [-elements.length 1。];
         //は新規作成配列
        INT [] = newArr 新しい新しい INT [-elements.length 1。];
        // 他の要素の最後の要素を除いて、元の配列を新しい配列にコピーされている
        ためint型 I = 0;私は<-elements.length 1; I ++は){ 
            newArr [I] = 要素[I]; 
        } 
        // 新しい配列を使用して、古い配列を置き換える 
        要素を= newArr;
         // 先頭の要素を返す
        戻り値の要素を、
    } 

    // 先頭の要素をチェック
    公共の int型{)(PEEKを
         // どの要素を積み重ねない
        IF(elements.length == 0 ){
             スロー 新新のRuntimeException(「スタックが空である」); 
        } 
        戻り要素[elements.length 1 - 。]; 
    } 

    // スタックが空であるか否かを判断する
    パブリック ブールのisEmpty(){
         戻り elements.length == 0 ; 
    } 
} 

パブリック クラスメイン{
     公共 静的 ボイドメイン(文字列[]引数){
         // スタックを作成 
        MyStack MS = 新しい新MyStack(); 

        // データに圧入 
        ms.push(9 ); 
        ms.push( 8 ); 
        ms.pushは( 7 ); 

        // 先頭の要素を削除
         // するSystem.out.println(ms.pop()) ; 
        
        // 先頭の要素をチェック
        System.out.println(ms.peek()); 
        ms.pop(); 
        のSystem.out.println(ms.peek()); 

        //は、スタックが空であるか否かを判断
        するSystem.out.println(ms.isEmpty() ); 
    } 
}

 

おすすめ

転載: www.cnblogs.com/GjqDream/p/11590554.html