お知らせ

ただいま、シンタックスハイライターの設定を見直しております。
プログラムが見にくくなっているページがありますが、ご容赦ください。

さまざまなデータ構造(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クラスを使う予定です。

今回はこれでおしまい。それではまた。

この記事を書いた人
春日井 優

高校で情報科という教科を担当しています。以前は数学科も担当していました。(今でも数学科の教員免許状は有効です。)プログラムを覚えたのは、「ゲームセンターあらし」という漫画のキャラクターがBASICを解説する「こんにちはマイコン」を読んだことがきっかけでした。

Posted by kasugai