さまざまなデータ構造(5)スタック2
こんにちは。前回はスタックについて説明しました。今回は、スタッククラスとしてまとめます。
スタックのプログラム(Java)
package data_structure;
public class MyStack<E> {
private MyLinkedList<E> myList;
public MyStack() {
myList = new MyLinkedList<E>();
}
public boolean empty() {
return myList.size() == 0;
}
public E peek() {
return myList.get(0);
}
public E pop() {
E result = peek();
myList.remove(0);
return result;
}
public void push(E element) {
myList.add(0, element);
}
public String toString() {
return myList.toString();
}
}
基本的にMyLinkedListクラスのメソッドを呼び出して済ませています。
動作確認をするプログラム
上のプログラムで作ったMyStackクラスが正しく動作するかを確かめるプログラムです。ひととおり確かめています。
package data_structure;
public class MyStackExec {
public static void main(String[] args) {
MyStack<Integer> stack = new MyStack<Integer>();
System.out.println(stack.empty());
stack.push(8);
System.out.println(stack);
stack.push(5);
System.out.println(stack);
stack.push(2);
System.out.println(stack);
int i = stack.pop();
System.out.println(i);
System.out.println(stack);
System.out.println(stack.peek());
}
}
実行結果は次になります。
true
[8]
[5]→[8]
[2]→[5]→[8]
2
[5]→[8]
5
スタックを作ったら、キューを作るしかないです!次回は、キューを作っていきます。予想通りの展開なので先に断っておきます。MyLinkedListクラスを使う予定です。
今回はこれでおしまい。それではまた。
ディスカッション
コメント一覧
まだ、コメントがありません