ad-6. スタック
1
金子邦彦
(C 言語によるアルゴリズムとデータ構造)(全6回)
URL: https://www.kkaneko.jp/pro/ad/index.html
スタックの基本概念と、プッシュ・ポップ操作の理
解
【学習内容の構成】
1. スタック:複数のデータを格納できるデータ構
造
2. プッシュとポップ:スタックの一番上へのデー
タ追加と削除
3. 配列による実装:メモリ内に配列を確保してス
タックを構成
• 前提:C言語の基礎、配列の理解
• 意義:後入れ先出し(LIFO)構造の理解
2
パソコン演習
① ウェブブラウザを起動する
② 次の URL を開く
https://www.cs.usfca.edu/~galles/visualization/Algorithms.
html
米国サンフランシスコ大の中のサイト
3
4
③ 「Stack: Array Implementation」をクリック
5
④ 試しに「10」を入れ、「Push」クリック
6
⑤ 次に「5」を入れ、「Push」クリック
7
⑥ 次に「20」を入れ、「Push」クリック
8
最初 次 3番目
3つのデータ
10, 5, 20 が格納された
※ スタックは
複数のデータを格納できる
データ構造
9
⑦ 今度は「Pop」をクリック.「20」が出てくる
10
⑧ 「Pop」をクリック.「5」が出てくる
11
⑨ 「Pop」をクリック.「10」が出てくる
12
• プッシュ:
スタックの一番上に追加
• ポップ:
スタックの一番上から削除
次にプッシュできる
場所を示している
スタックのプッシュとポップ
スタックの構成
13
事前に、メモリ内に
配列を確保
メモリ
配列を使用する場合
スタックの構成
14
メモリ
最初は空
スタックの構成
15
メモリ
データが入っていく
①、②、③の順で
プッシュすると
①
②
③
一番最後にプッシュ
した③が一番上