Ngôn Ngữ C# - LinkedList

C# LinkedList<T>

LinkedList là lớp thuộc không gian tên System.Collections.Generic, biểu diễn một danh sách liên kết đôi, gồm danh sách các node liên kết với nhau bởi thành phần tham chiếu đến node kế tiếp và kế trước của mỗi node.

Khởi tạo một đối tượng LinkedList

LinkedList<KiểuPhầnTử> list = new LinkedList<KiểuPhầnTử>();   

LinkedListNode<T> là lớp biểu diễn NÚT trong LinkedList, các đối tượng của LinkedListNode được tạo ra từ LinkedList. Nó có các thuộc tính sau:

Thuộc tính Ý nghĩa
List Thuộc tính - tham chiếu (trỏ) đến LinkedList
Value Thuộc tính - là dữ liệu của Node
Next Thuộc tính - tham chiếu (trỏ) đến NÚT tiếp theo (phía sau) - null thì nó là nút cuối
Previous Thuộc tính - tham chiếu (trỏ) đến NÚT phía trước - null thì nó là nút đầu tiên

Một số phương thức trong LinkedList

Member Ý nghĩa
Count Số nút trong danh sách
First Nút đầu tiên của danh sách
Last Nút đầu tiên của danh sách
AddFirst(T) Chèn một nút có dữ liệu T vào đầu danh sách
AddLast(T) Chèn một nút có dữ liệu T vào cuối danh sách
AddAfter(Node, T) Chèn nút với dữ liệu T, vào sau nút Node (kiểu LinkedListNode)
AddBefore(Node, T) Chèn nút với dữ liệu T, vào trước nút Node (kiểu LinkedListNode)
Clear() Xóa toàn bộ danh sách
Contains(T) Kiểm tra xem có nút với giá trị dữ liệu bằng T
Remove(T) Xóa nút có dữ liệu bằng T
RemoveFirst() Xóa nút đầu tiên
RemoveLast() Xóa nút cuối cùng
Find(T) Tìm một nút

T Value: trả về giá trị của node

Ví dụ về lớp LinkedList<T>

Chúng ta hãy xem một ví dụ về lớp LinkedList<T> chung lưu trữ các phần tử bằng cách sử dụng các phương thức AddLast() AddFirst(), và dùng vòng lặp for-each để duyệt LinkedList.

using System;   using System.Collections.Generic;      public class LinkedListExample   {       public static void Main(string[] args)       {           // Create a list of strings           var names = new LinkedList<string>();           names.AddLast("Sonoo Jaiswal");           names.AddLast("Ankit");           names.AddLast("Peter");           names.AddLast("Irfan");           names.AddFirst("John");//added to first index              // Iterate list element using foreach loop           foreach (var name in names)           {               Console.WriteLine(name);           }       }   }  

Kết quả:

John Sonoo Jaiswal Ankit Peter Irfan Lưu ý: Không giống như lớp List, bạn không thể tạo LinkedList bằng Collection.

Xem ví dụ

Ví dụ 2 về LinkedList<T>

Chúng ta hãy xem một ví dụ khác về lớp LinkedList <T> lưu trữ các phần tử trước và sau nút cụ thể. Để có được nút cụ thể, chúng ta đang gọi phương thức Find ().

using System;   using System.Collections.Generic;      public class LinkedListExample   {       public static void Main(string[] args)       {           // Create a list of strings           var names = new LinkedList<string>();           names.AddLast("Sonoo");           names.AddLast("Ankit");           names.AddLast("Peter");           names.AddLast("Irfan");                      //insert new element before "Peter"           LinkedListNode<String> node=names.Find("Peter");           names.AddBefore(node, "John");           names.AddAfter(node, "Lucy");              // Iterate list element using foreach loop           foreach (var name in names)           {               Console.WriteLine(name);           }       }   }  

Kết quả:

Sonoo Ankit John Peter Lucy Irfan

Như bạn có thể thấy ở trên trong phần đầu "John" và "Lucy" được thêm vào trước và cuối cùng là "Peter".

Xem ví dụ

Từ khóa » Danh Sách Liên Kết đôi Trong C#