This page needs a recent browser (with SharedArrayBuffer support). Please update Chrome, Edge, Firefox or Safari to the latest version. · このページには最新のブラウザ(SharedArrayBuffer対応)が必要です。Chrome、Edge、Firefox、Safariを最新バージョンに更新してください。
English
What is an ADT?
- An Abstract Data Type (ADT) is a collection of data plus a set of operations on it.
- You use the operations and ignore how it is built inside.
- A stack, a queue, and a linked list are all ADTs.
日本語
ADTとは何か
- 抽象データ型 (ADT) は、データの集合とそれに対する操作のセットです。
- 内部構造は無視して、操作を使用します。
- スタック、キュー、連結リスト はすべてADTです。
English
A stack is LIFO
- A stack is Last In, First Out (LIFO).
- The last item you add is the first one you take off.
- Think of a stack of plates: you take the top plate first.
日本語
ス塔はLIFOである
- スタックは Last In, First Out (LIFO) です。
- 最後に追加したアイテムが最初に除かれます。
- 皿の山を想像してください:一番上の皿を先に取り出します。
English
push and pop with a list
- We can build a stack from a Python list.
- push =
stack.append(x)— add to the end (the top). - pop =
stack.pop()— remove and return the end (the top).
日本語
リストを用いたpushとpop
- Pythonのリストを使ってスタックを構築できます。
- push =
stack.append(x)— 末尾(トップ)に追加します。 - pop =
stack.pop()— 末尾(トップ)を削除して返します。
stack = []
stack.append("a")
stack.append("b")
print(stack.pop())
print(stack)
English
peek and empty
- peek at the top without removing it:
stack[-1]. - A stack is empty when
len(stack) == 0. - Popping an empty stack is an error, so check first.
日本語
peekとempty
- 削除せずにトップを確認する:
stack[-1]。 len(stack) == 0のとき、スタックは空です。- 空のスタックからpopするとエラーになるため、事前に確認する必要があります。
stack = [10, 20, 30]
print(stack[-1]) # peek the top
print(len(stack) == 0) # is it empty?
English
In Cambridge pseudocode
- The exam builds a stack from an array plus a
toppointer (an index).
日本語
Cambridge擬似コードにおける表現
- 試験では、配列と
topポインタ(インデックス)を使ってスタックを構築します。
DECLARE stack : ARRAY[1:10] OF INTEGER
DECLARE top : INTEGER
top ← 0 // 0 means empty
// push value
top ← top + 1
stack[top] ← value
// pop into value
value ← stack[top]
top ← top - 1
English
Common mistakes
- A stack is last-in, first-out: push to the top, pop from the top.
- Check it is not empty before you pop.
日本語
よくあるミス
- スタックは最後加入・最初除去です:トップにpushし、トップからpopします。
- popする前に空でないことを確認します。
English
Now you try
- Use a list as your stack (
appendto push,popto remove). - Press Check answer to test your code.
日本語
あなたも試してみよう
- リストをスタックとして使用します(
appendでpush、popで除去)。 - 回答を確認 を押してコードを試してください。
Explore · 探索
A stack is LIFO
A stack pushes and pops at one end — last in, first out.
Start with an empty stack. Push 1, then 2, then 3. Then pop once, storing the removed value in top. (top should be 3 and the stack should be [1, 2].)
Click Run to see the output here. · 実行ボタンをクリックして出力を確認してください。
Use a stack to reverse the list items. Push every item onto a stack, then pop them all into result. (result should be [3, 2, 1].)
Click Run to see the output here. · 実行ボタンをクリックして出力を確認してください。
Write top(stack) that returns the top item (the last one) without removing it. If the stack is empty, return None.
Click Run to see the output here. · 実行ボタンをクリックして出力を確認してください。