データ構造を学ぶDay 3

11966 ワード

スタックとキュー
 
  • スタックは、配列
  • と比較して線形構造である.
  • 彼の対応する動作は、配列のサブセット
  • である.
  • は端からしか入らないし、端からしか取り出せない
  • です.
  • この端はスタックトップ
  • となります.
    スタックは先進的で後発的なデータ構造で、Last In First Out(LIFO)
  • プログラムが起動するシステムスタック
  • スタックのアプリケーション:どこにもないユニド操作(キャンセル)
  •  
    スタックの実現
    Stock
  • void push(E)
  • Eポップ()
  • E peek()
  • int get Size()
  • bootlean isempty()
  •  
    自分で書いたスタックをインターフェースに設定し、一日目の動的配列でこのインターフェースを実現します.前の自分で作ったダイナミック配列があるので、スタックの形が分かります.
     
    はい、とても便利です.
     
    public class ArrayStack<E> implements Stack<E> {   DynamicArray<E> array;   public ArrayStack(int capacity){  array = new DynamicArray<E>(capacity);  }   public ArrayStack(){  array = new DynamicArray<E>();  }   @Override  public int getSize() {  return array.getSize();  }   @Override  public void push(E e) {  array.addLast(e);  }   @Override  public boolean isEmpty() {  return array.isEmpty();  }   @Override  public E pop() {  return array.removeLast();  }   @Override  public E peek() {  return array.getLast();  }   public int getCapacity(){  return array.capacity();  }   @Override  public String toString(){  StringBuilder builder = new StringBuilder();  builder.append("stack:");  builder.append("[");  for (int i = 0; i <