C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でスタック(Stack)を作成する方法【コード例付きでわかりやすく解説】

C#でスタックを作成するには、System.Collections.Generic名前空間に含まれるStack<T>クラスを使用します。スタックはLIFO(Last In First Out:後入れ先出し)方式のデータ構造で、最後に追加した要素が最初に取り出されます。

スタック作成の基本手順

要素を追加するにはPush()メソッドを使用します。以下のコードでは、整数型のスタックを作成し、複数の値を順番に追加しています。

サンプルコード1

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main(){
      Stack<int> stack = new Stack<int>();
      stack.Push(100);
      stack.Push(150);
      stack.Push(175);
      stack.Push(200);
      stack.Push(225);
      stack.Push(250);
      stack.Push(300);
      stack.Push(400);
      stack.Push(450);
      stack.Push(500);

      Console.WriteLine("スタック内の要素:");
      foreach(var val in stack){
         Console.WriteLine(val);
      }

      Console.WriteLine("スタックの要素数 = " + stack.Count);
      Console.WriteLine("スタックに400が含まれているか? = " + stack.Contains(400));
   }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

スタック内の要素:
500
450
400
300
250
225
200
175
150
100
スタックの要素数 = 10
スタックに400が含まれているか? = True

ポイント解説

  • Push()メソッド: スタックの先頭に要素を追加します。
  • foreachループ: スタックの要素は、最後に追加したものから順に列挙されます。
  • Countプロパティ: スタックに格納されている要素数を取得できます。
  • Contains()メソッド: 指定した要素がスタック内に存在するかどうかを判定し、bool値を返します。

サンプルコード2:要素数と全要素の表示

続いて、もう一つの例を見てみましょう。こちらも同様にStack<int>を使い、要素数の取得と全要素の表示を行います。

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main(){
      Stack<int> stack = new Stack<int>();
      stack.Push(10);
      stack.Push(20);
      stack.Push(30);
      stack.Push(40);
      stack.Push(50);
      stack.Push(60);
      stack.Push(70);
      stack.Push(80);
      stack.Push(90);
      stack.Push(100);

      Console.WriteLine("要素数 = " + stack.Count);
      Console.WriteLine("スタック内の要素...");

      foreach (int res in stack){
         Console.WriteLine(res);
      }
   }
}

実行結果

このコードを実行すると、以下の出力が得られます。

要素数 = 10
スタック内の要素...
100
90
80
70
60
50
40
30
20
10

まとめ

C#でスタックを扱う際は、Stack<T>クラスのPush()で要素を追加し、Countで要素数を確認、Contains()で特定要素の有無をチェックできます。出力結果からも分かるように、スタックは最後に追加した要素から順に取り出されるLIFO構造であることを覚えておきましょう。

  1. C#のStackクラスを徹底解説!PushとPopの使い方とサンプルコード

    C#のStackクラスは、LIFO(Last-In, First-Out:後入れ先出し)方式でオブジェクトを管理するコレクションです。最後に追加した要素から順に取り出したい場合に活用されます。 Stackクラスには、以下のような便利なプロパティが用意されています。 Count … スタック内に格納されている要素数を取得します。 Push操作:スタックへの要素追加 Pushメソッドを使うと、スタックの先頭(一番上)に新しい要素を追加できます。 Stack st = new Stack(); st.Push(A); st.Push(B); st.Push(C); st.Push(D); この

  2. Apple IDの作成方法を完全解説|子ども用アカウントや2ファクタ認証の設定まで

    Apple製品やサービスを使いこなすうえで、Apple IDは欠かせない存在です。幸い、その作成はとても簡単。この記事では、自分用・お子様用のApple IDの作り方から、強固なセキュリティ設定、ファミリー共有グループの始め方まで、わかりやすく解説します。 Apple IDを作成する手順 Apple IDは、Apple公式サイトのApple IDページ(appleid.apple.com)にアクセスし、「Apple IDを作成」をクリックするだけで登録できます。 appleid.apple.com は、Apple IDの作成と管理を行うためのオンライン窓口です Apple IDの登録にあたっ