LinkedList Danh Sách Liên Kết Trong C# C Sharp
Có thể bạn quan tâm
- LinkedList
- LinkedListNode
- Phương thức trong LinkedList
Cần sử dụng 2 namspace sau:
using System.Collections; using System.Collections.Generic;LinkedList trong C#
Trong thư viện .NET cung cấp lớp LinkedList<T> là loại danh sách liên kết kép (từ đây gọi tắt là danh sách liên kết).
Danh sách liên kết là một danh sách chứa các phần tử, mỗi phần tử trong loại danh sách này được gọi là một nút (Node). Mỗi nút ngoài dữ liệu của nút đó, nó sẽ gồm hai biến - một biến tham chiếu đến Node phía trước, một nút tham chiếu đến nút phía sau.
Điều này có nghĩa, có có một nút - có thể lấy được nút phía trước nó - cứ thế cho đến nút đầu tiên, nút đầu, tương tự lấy được nút phía sau và dịch chuyển dần được về cuối.
Khai báo - khởi tạo một LinkedList, ví dụ tạo danh sách liên kết mà dữ liệu các nút có kiểu string
LinkedList<string> cacbaihoc = new LinkedList<string>();Danh sách khởi tạo trên có dữ liệu trong các nút là kiểu string, tuy nhiên bản thân các nút được biểu diễn bởi lớp LinkedListNode
LinkedListNode trong C#
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 |
Thử tạo ra danh sách liên kết chứa tên các bài học
LinkedList<string> cacbaihoc = new LinkedList<string>(); cacbaihoc.AddFirst("Bài học 3"); // thêm vào đầu danh sach cacbaihoc.AddLast("Bài học 4"); // thêm vào cuối cacbaihoc.AddFirst("Bài học 2"); cacbaihoc.AddFirst("Bài học 1"); // Lấy phần tử đầu tiên, sau đó duyệt đến cuối Console.WriteLine("---------Nút từ đầu về cuối"); LinkedListNode<string> node = cacbaihoc.First; while (node != null) { Console.WriteLine(node.Value); node = node.Next; // node gán bằng nút sau nó } // Lấy phần tử cuối cùng, sau đó duyệt về phần tử đầu tiên Console.WriteLine("--------Nút từ cuối đến đầu"); node = cacbaihoc.Last; while (node != null) { Console.WriteLine(node.Value); node = node.Previous; // node gán bằng nút phía trước nó } /* Kết quả ---------Nút từ đầu về cuối Bài học 1 Bài học 2 Bài học 3 Bài học 4 --------Nút từ cuối đến đầu Bài học 4 Bài học 3 Bài học 2 Bài học 1 */Tham khảo mã nguồn: CS024_SomeCollections hoặc tải về ex024
Mục lục bài viết LinkedListLinkedListNodePhương thức trong LinkedList ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB Đăng ký nhận bài viết mớiTừ khóa » Danh Sách Liên Kết đôi Trong C#
-
Danh Sách Liên Kết (linked List) Trong C# | Tự Học ICT
-
Danh Sách Liên Kết đôi Là Gì? Cấu Trúc Dữ Liệu Của Nó
-
Cài đặt Danh Sách Liên Kết Bằng Ngôn Ngữ C# - Nosomovo
-
Cài đặt Danh Sách Liên Kết đôi Trong C/C++ - Lập Trình Không Khó
-
Sử Dụng Danh Sách Liên Kết Kép Trong C - E-News
-
Cấu Trúc Dữ Liệu Danh Sách Liên Kết đôi (Doubly Linked List) - VietTuts
-
Linked List Trong C# - Blog Của Thư
-
CTDL Và Giải Thuật - Danh Sách Liên Kết đôi
-
Ngôn Ngữ C# - LinkedList
-
Cài đặt Danh Sách Liên Kết đôi C/C++ - Doubly Linked List
-
Generic Collection LinkedList Trong C# - Minh Hoàng Blog
-
[Linked List] - Danh Sách Liên Kết đôi. - YouTube
-
Chi Tiết Bài Học Danh Sách Liên Kết Kép - Vimentor
-
Cấu Trúc Dữ Liệu Và Giải Thuật: Danh Sách Liên Kết đôi (Doubly Linked ...