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

C#でLinkedListを走査する方法 ― 宣言からトラバーサルまで

C#では、System.Collections.Generic名前空間に含まれるLinkedListコレクションを使用することで、連結リストを簡単に扱うことができます。まずはLinkedListを宣言する方法から見ていきましょう。

var a = new LinkedList<string>();

次に、AddLastメソッドを使ってリストの末尾に要素を追加します。

a.AddLast("Tim");
a.AddLast("Tom");

LinkedListの走査(トラバーサル)は、foreachループを使うことで非常にシンプルに実現できます。以下に完全なサンプルコードを示します。

サンプルコード

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(string[] args) {
        var a = new LinkedList<string>();
        a.AddLast("Tim");
        a.AddLast("Tom");

        foreach(var res in a) {
            Console.WriteLine(res);
        }
    }
}

出力結果

Tim
Tom

コードの解説

このプログラムでは、まずstring型のLinkedListを作成し、AddLastメソッドによって「Tim」「Tom」の2つの要素を順に末尾へ追加しています。

その後、foreach文でリスト内の各要素を先頭から順番に取り出し、Console.WriteLineメソッドでコンソールに出力しています。これが最も基本的なLinkedListの走査方法です。

なお、C#のLinkedList<T>は双方向連結リストとして実装されており、AddFirstAddLastRemoveなどのメソッドを使えば、要素の追加・削除を高速に行えます。ただし、配列と異なりインデックスによる直接アクセスはできないため、走査にはforeachや列挙子(Enumerator)を利用するのが一般的です。

  1. C#のLinkedList(連結リスト)の基本と使い方を解説

    C#のLinkedList<T>とはC#では、System.Collections.Generic名前空間に用意されているLinkedList<T>クラスを使用することで、連結リスト(リンクリスト)を簡単に扱うことができます。LinkedList<T>の最大の特徴は、リスト内への要素の挿入と削除を高速に行える点です。配列ベースのコレクションと異なり、要素の追加・削除時に他の要素を移動させる必要がないため、データの入れ替えが頻繁に発生する場面で特に有効です。LinkedList<T>の主な特徴要素の挿入・削除が高速に行える重複した要素を格納できるS

  2. C#でスタックを反転(逆順)にする方法

    スタックはLIFO(Last In First Out:後入れ先出し)という特性を持つデータ構造です。この特性を活かすと、あるスタックから別のスタックへ要素を移し替えるだけで、簡単に要素の順序を反転させることができます。ここでは、C#の Stack クラスを使ってスタックを反転する方法を、具体的な手順とサンプルコード付きで解説します。 反転の手順 1. スタックの作成と要素の追加 まず、元となるスタックを作成し、Push メソッドで要素を追加します。 Stack st = new Stack(); st.Push(P); st.Push(Q); st.Push(R); 2. 反転用のスタックを