ホームページ >Java >&#&チュートリアル >Java は単純なスタック コードを実装します

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

高洛峰
高洛峰オリジナル
2017-01-24 14:42:271167ブラウズ

この記事の例では、参考のために 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 サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。