広告スペース(バナー)
🐹Go レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 30 / 68

スタックとキュー(データ構造の基本)

このレッスンでは、Goでスタックとキューを実装する方法を学び、用途に応じたデータの出し入れ方法を理解することを目標にします。「Go言語 スタック キュー 使い方」で調べている方向けです。

スタックは「最後に入れたものを最初に取り出す(後入れ先出し)」、キューは「最初に入れたものを最初に取り出す(先入れ先出し)」データ構造です。「積み重ねた本」と「行列」の違いをイメージすると分かりやすいです。

サンプルコードでは、stack = append(stack, "A")で値を積み、stack[len(stack)-1]で最後の値を取り出してからstack[:len(stack)-1]でスライスを縮めています。キューは逆に先頭のqueue[0]を取り出し、queue[1:]で残りを取り出しています。

初心者がよくつまずくのが、Goにはこれら専用の型はなく、スライスとappend・スライス操作を組み合わせて自分で実現する必要がある点です。取り出す位置が先頭か末尾かで、スタックとキューの動作が変わることを意識する必要があります。

実際の開発現場では、スタックは関数呼び出しの仕組み自体にも使われており、コンピュータサイエンスの基礎理解にもつながる重要なデータ構造です。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではGoを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
「元に戻す」機能や、順番待ちの仕組みを表現できるようになります。
広告スペース(バナー)
広告スペース(記事内)