パハットノート

主にUnity(C#)を中心としたプログラムの備忘録

C# スタックの基本的な使い方(データの取り出し、格納、読み込みなど)





スタックの基本

スタックとはデータ構造の1種であり、最初に入れたデータが最後に取り出されるという特徴がある。
スタックについて詳しく知りたい方はWikiなどを参考にしてください。
ja.wikipedia.org




C#におけるスタックの基本的な使用方法

宣言

スタックを宣言するときは、
Stack<型> 変数名 = new Stack<型>();
というように宣言する。
リストなどと同じような宣言方法である。


データの追加

スタックの変数名.Push(格納する値)


データの取得

2つの方法を紹介するが、どちらの場合でも最後に格納したデータが取り出されるという特徴がある。

Popメソッド

スタックの変数名.Pop()
この方法でデータを取得すると取得したデータはスタックから取り除かれるという特徴がある。


Peekメソッド

スタックの変数名.Peek()
この方法でデータを取得すると取得したデータはスタックから取り除かれないという特徴がある。


スタックの大きさの取得

スタックの変数名.Count


スタックの中身を空にする

スタックの変数名.Clear()




サンプルプログラム

これらを用いたプログラムと実行結果を下に示す。

using System.Collections.Generic;
using System;

public class StackSample
{
    public static void Main()
    {
        //int型のスタックの設定
        Stack<int> stack = new Stack<int>();

        //値の格納
        stack.Push(2);
        stack.Push(-1);
        
        //大きさの取得
        Console.WriteLine($"スタックの大きさ:{stack.Count}");
        
        //値の取り出し
        Console.WriteLine($"{stack.Pop()}");
        Console.WriteLine($"{stack.Peek()}");
        Console.WriteLine($"{stack.Pop()}");
        
        //空にする
        stack.Clear();
        
        //大きさの取得
        Console.WriteLine($"スタックの大きさ:{stack.Count}");
        
    }
}



//実行結果
スタックの大きさ:2
-1
2
2
スタックの大きさ:0