C# có LinkedList<T> trong System.Collections.Generic (doubly linked list).
Ví dụ: Tạo, thêm, duyệt
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main(string[] args)
{
var list = new LinkedList<string>();
list.AddLast("One");
list.AddLast("Two");
list.AddLast("Four");
Console.WriteLine("Duyệt ban đầu...");
foreach (var res in list)
Console.WriteLine(res);
// Thêm trước/sau node "Four"
LinkedListNode<string> node = list.Find("Four");
list.AddBefore(node, "Three");
list.AddAfter(node, "Five");
Console.WriteLine("Duyệt sau khi thêm...");
foreach (var res in list)
Console.WriteLine(res);
}
}
Kết quả
Duyệt ban đầu... One Two Four Duyệt sau khi thêm... One Two Three Four Five
Các method chính
AddFirst,AddLastAddBefore(node, value),AddAfter(node, value)Find(value),FindLast(value)- trả vềLinkedListNode<T>Remove,RemoveFirst,RemoveLast- Duyệt:
foreachhoặcfor (var node = list.First; node != null; node = node.Next)
Lưu ý: LinkedList<T> là doubly linked. Singly linked list tự implement nếu cần tiết kiệm memory.