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

C#で指定された値を含むLinkedListの最初のノードを検索する方法

LinkedList内で指定された値を含む最初のノードを検索するには、Findメソッドを使用します。このメソッドは、リストの先頭(First)から順に前方へ走査し、指定した値と一致する最初のノードをLinkedListNode<T>として返します。該当する値が存在しない場合はnullが返されます。

値の比較にはEqualityComparer<T>.Defaultが使用され、計算量はO(n)となります。

例1:文字列型のLinkedListを検索する

using System;
using System.Collections.Generic;
public class Demo {
    public static void Main(){
        LinkedList<string> list = new LinkedList<string>();
        list.AddLast("John");
        list.AddLast("Tim");
        list.AddLast("Kevin");
        list.AddLast("Jacob");
        list.AddLast("Emma");
        list.AddLast("Ryan");
        list.AddLast("Brad");
        list.AddLast("Carl");
        Console.WriteLine("LinkedListの要素...");
        foreach(string str in list){
            Console.WriteLine(str);
        }
        LinkedListNode<string> val = list.Find("Jacob");
        Console.WriteLine("指定された値 = " + val.Value);
    }
}

実行結果

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

LinkedListの要素...
John
Tim
Kevin
Jacob
Emma
Ryan
Brad
Carl
指定された値 = Jacob

例2:整数型のLinkedListを検索する

続いて、int型のLinkedListを検索する別の例を見てみましょう。

using System;
using System.Collections.Generic;
public class Demo {
    public static void Main(){
        LinkedList<int> list = new LinkedList<int>();
        list.AddLast(100);
        list.AddLast(200);
        list.AddLast(300);
        list.AddLast(400);
        list.AddLast(500);
        Console.WriteLine("LinkedListの要素...");
        foreach(int i in list){
            Console.WriteLine(i);
        }
        LinkedListNode<int> val = list.Find(300);
        Console.WriteLine("指定された値 = " + val.Value);
    }
}

実行結果

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

LinkedListの要素...
100
200
300
400
500
指定された値 = 300

まとめ

LinkedList<T>のFindメソッドを使えば、指定した値を含む最初のノードを簡単に取得できます。戻り値はLinkedListNode<T>型であるため、Valueプロパティで値を参照できるだけでなく、NextやPreviousプロパティを通じて前後のノードを操作することも可能です。

  1. C#でLinkedList(連結リスト)の特定ノードの前に新しいノードを追加する方法

    C#のLinkedList<T>クラスを使うと、連結リスト内の任意の位置にノードを挿入できます。本記事では、AddBefore()メソッドを使用して、特定のノードの直前に新しいノードを追加する手順を解説します。 手順1:LinkedListの宣言とノードの追加 まず、文字列配列をもとにLinkedListを作成し、初期ノードを設定します。 string[] students = {Tim,Jack,Henry,David,Tom}; LinkedList<string> list = new LinkedList<string>(students); 手

  2. C#でリンクリスト(LinkedList)のノードを検索する方法

    C#のLinkedList<T>クラスには、指定した値を持つノードを検索するためのFindメソッドが用意されています。本記事では、リンクリストから特定のノードを検索し、そのノードの直後に新しい要素を追加する手順を、サンプルコードと実行結果付きで解説します。 リンクリストの作成と要素の追加 まず、新しいリンクリストを作成します。 LinkedList<string> myList = new LinkedList<string>(); 次に、AddLastメソッドを使って、リンクリストの末尾に6つの要素を追加します。 // リンクリストに6つの要素を追加 my