#csharp_for_beginners
در این مقاله، ساختار دادهٔ LinkedList در زبان سیشارپ معرفی شده است. این ساختار یک لیست پیوندی دوطرفه (Doubly Linked List) است که امکان درج و حذف سریع عناصر را در هر نقطه از لیست فراهم میکند. برخلاف آرایهها، عناصر در حافظه بهصورت پشتسرهم ذخیره نمیشوند و هر عنصر در قالب یک گره (Node) نگهداری میشود.
ساختار LinkedList
هر گره در
LinkedList<T> شامل سه بخش است:مقدار داده (Value)
اشارهگر به گره قبلی (Previous)
اشارهگر به گره بعدی (Next)
به همین دلیل میتوان در هر دو جهت لیست حرکت کرد.
ایجاد یک LinkedList
برای استفاده از این ساختار ابتدا باید فضای نام زیر را اضافه کنیم:
using System.Collections.Generic;
سپس لیست را ایجاد میکنیم:
LinkedList<int> list = new LinkedList<int>();
افزودن عناصر:
مهمترین متدهای افزودن عنصر عبارتاند از:
افزودن در ابتدای لیست: ()AddFirst
افزودن در انتهای لیست: ()AddLast
افزودن قبل از یک گره مشخص: ()AddBefore
افزودن بعد از یک گره مشخص: ()AddAfter
نمونه کد:
LinkedList<int> list = new LinkedList<int>();
list.AddFirst(20);
list.AddLast(30);
list.AddLast(40);
foreach (int item in list)
{
Console.WriteLine(item);
}
خروجی:
20
30
40
برای حذف عناصر نیز متدهای مختلفی وجود دارد:
حذف اولین رخداد یک مقدار:
Remove(T value)حذف اولین گره:
RemoveFirst()حذف آخرین گره:
RemoveLast()حذف یک گره مشخص:
Remove(LinkedListNode<T>)
حذف تمام عناصر لیست: Clear()جستجوی عناصر
متد
Contains() بررسی میکند که آیا یک مقدار در لیست وجود دارد یا خیر:
LinkedList<int> list = new LinkedList<int>();
list.AddLast(10);
list.AddLast(20);
list.AddLast(30);
Console.WriteLine(list.Contains(20));
Console.WriteLine(list.Contains(100));
خروجی:
True
False
🔗 مطلب کامل را در این لینک میتوانید مطالعه کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
کانال تلگرام:
@SoftwarePhilosophy
______