Java は単純なスタック コードを実装します

高洛峰
リリース: 2017-01-24 14:42:27
オリジナル
1152 人が閲覧しました

この記事の例では、参考のために Java で単純なスタックを実装するための具体的なコードを共有します。具体的な内容は次のとおりです

/**
 * Created by Frank
 */
public class ToyStack {
  /**
   * 栈的最大深度
   **/
  protected int MAX_DEPTH = 10;
 
  /**
   * 栈的当前深度
   */
  protected int depth = 0;
 
  /**
   * 实际的栈
   */
  protected int[] stack = new int[MAX_DEPTH];
 
  /**
   * push,向栈中添加一个元素
   *
   * @param n 待添加的整数
   */
  protected void push(int n) {
    if (depth == MAX_DEPTH - 1) {
      throw new RuntimeException("栈已满,无法再添加元素。");
    }
    stack[depth++] = n;
  }
 
  /**
   * pop,返回栈顶元素并从栈中删除
   *
   * @return 栈顶元素
   */
  protected int pop() {
    if (depth == 0) {
      throw new RuntimeException("栈中元素已经被取完,无法再取。");
    }
 
    // --depth,dept先减去1再赋值给变量dept,这样整个栈的深度就减1了(相当于从栈中删除)。
    return stack[--depth];
  }
 
  /**
   * peek,返回栈顶元素但不从栈中删除
   *
   * @return
   */
  protected int peek() {
    if (depth == 0) {
      throw new RuntimeException("栈中元素已经被取完,无法再取。");
    }
    return stack[depth - 1];
  }
}
ログイン後にコピー

以上がこの記事の全内容であり、皆さんの学習に役立つことを願っています。また、皆様にも PHP 中国語 Web サイトをサポートしていただければ幸いです。

単純なスタック コードの Java 実装に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!