Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การหาโหนดสุดท้ายใน LinkedList ที่มีค่าที่ระบุใน C#

ภาพรวม

เมธอด LinkedList<T>.FindLast(T value) คืน LinkedListNode<T> ของโหนดสุดท้ายที่มีค่าตรงกับพารามิเตอร์ (คืน null หากไม่พบ)

ตัวอย่างที่ 1: 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);
        list.AddLast(300);
        list.AddLast(500);

        Console.WriteLine("LinkedList elements...");
        foreach (int i in list)
        {
            Console.WriteLine(i);
        }

        LinkedListNode<int> val = list.FindLast(300);
        Console.WriteLine("Specified value = " + val.Value);
    }
}

ผลลัพธ์

LinkedList elements...
100
200
300
400
500
300
500
Specified value = 300

ตัวอย่างที่ 2: LinkedList ของสตริง

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        LinkedList<String> list = new LinkedList<String>();
        list.AddLast("One");
        list.AddLast("Two");
        list.AddLast("Three");
        list.AddLast("Four");
        list.AddLast("Five");

        Console.WriteLine("Elements in LinkedList...");
        foreach (string res in list)
        {
            Console.WriteLine(res);
        }

        LinkedListNode<string> val = list.FindLast("Five");
        Console.WriteLine("Specified value = " + val.Value);
    }
}

ผลลัพธ์

Elements in LinkedList...
One
Two
Three
Four
Five
Specified value = Five

สรุป

  • FindLast ค้นหาจากท้ายไปหน้า คืนโหนดแรกที่เจอ (คือตัวสุดท้ายในลำดับ)
  • คู่กับ Find ที่ค้นจากหน้าไปท้าย
  • คืน LinkedListNode<T> สามารถเข้าถึง .Value, .Next, .Previous, .List ได้