Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Lấy số nút (node) trong LinkedList C#

Giới thiệu

LinkedList<T> (namespace System.Collections.Generic) là danh sách liên kết đôi. Thuộc tính Count trả về số nút hiện có. Các phương thức AddLast, AddFirst, Clear thường dùng để thao tác.

Ví dụ 1: Đếm nút và lấy nút đầu tiên

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        LinkedList list = new LinkedList();
        list.AddLast("A");
        list.AddLast("B");
        list.AddLast("C");
        list.AddLast("D");
        list.AddLast("E");
        list.AddLast("F");
        list.AddLast("G");
        list.AddLast("H");
        list.AddLast("I");
        list.AddLast("J");

        Console.WriteLine("Số nút = " + list.Count);
        Console.WriteLine("Nút đầu tiên = " + list.First.Value);
        list.Clear();
        Console.WriteLine("Số nút (sau Clear) = " + list.Count);
    }
}

Kết quả

Số nút = 10
Nút đầu tiên = A
Số nút (sau Clear) = 0

Ví dụ 2: Nhiều LinkedList, gán tham chiếu

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main(string[] args)
    {
        LinkedList list1 = new LinkedList();
        list1.AddLast("One");
        list1.AddLast("Two");
        list1.AddLast("Three");
        list1.AddLast("Four");
        list1.AddLast("Five");

        Console.WriteLine("Các phần tử trong LinkedList1...");
        foreach (string res in list1)
        {
            Console.WriteLine(res);
        }

        LinkedList list2 = new LinkedList();
        list2.AddLast("India");
        list2.AddLast("US");
        list2.AddLast("UK");
        list2.AddLast("Canada");
        list2.AddLast("Poland");
        list2.AddLast("Netherlands");

        Console.WriteLine("Các phần tử trong LinkedList2...");
        foreach (string res in list2)
        {
            Console.WriteLine(res);
        }

        LinkedList list3 = new LinkedList();
        Console.WriteLine("Số nút trong LinkedList3 = " + list3.Count);
        list3 = list2; // gán tham chiếu
        Console.WriteLine("Số nút trong LinkedList3 (cập nhật) = " + list2.Count);
        Console.WriteLine("LinkedList3 bằng LinkedList2? = " + list3.Equals(list2));
    }
}

Kết quả

Các phần tử trong LinkedList1...
One
Two
Three
Four
Five
Các phần tử trong LinkedList2...
India
US
UK
Canada
Poland
Netherlands
Số nút trong LinkedList3 = 0
Số nút trong LinkedList3 (cập nhật) = 6
LinkedList3 bằng LinkedList2? = True

Chú ý

  • Count là thuộc tính O(1).
  • Gán list3 = list2 làm cả hai tham chiếu đến cùng một đối tượng, nên Equals trả về true (so sánh tham chiếu mặc định).
  • Để so sánh nội dung, cần duyệt thủ công hoặc dùng SequenceEqual (LINQ).