لیست پیوندی یک طرفه و دوطرفه را در بخش ساختمان داده وب رادیو صدای ققنوس توضیح داده ایم. دیدیم که در لیست پیوندی یک طرفه فقط امکان حرکت به جلو وجود دارد. در این پست نوع دیگری از لیست پیوندی را مشاهده می کنیم که در آن امکان حرکت به جلو و عقب وجود دارد. به چنین لیست پیوندی، لیست پیوندی دوطرفه گفته می شود. در زیر ویژگی های لیست پیوندی دوگانه یا دوطرفه آورده شده است.

لیست پیوندی دوطرفه حاوی یک عنصر پیوند به نام first و last است.
هر نود دارای یک فیلد داده و دو فیلد پیوند به نام های next و prev است.
هر نود با پیوند next خود به نود بعدی متصل میشود .
هر نود با پیوند last خود به نود قبلی متصل میشود .
آخرین پیوند به یک نود تهی متصل است که انتهای لیست را نشان میدهد.
ایجاد لیست پیوند دوطرفه
با استفاده از کلاس Node یک لیست Double Linked ایجاد می کنیم. اکنون ما از همان رویکردی استفاده میکنیم که در لیست پیوندی یکطرفه استفاده میشود، اما از head و اشارهگرهای next برای تخصیص مناسب برای ایجاد دو پیوند در هر یک از گرهها علاوه بر دادههای موجود در گره استفاده میشود.

درج در لیست پیوندی دوطرفه
در اینجا، ما می خواهیم با استفاده از برنامه زیر، یک گره را به لیست پیوند دوطرفه درج کنیم. این برنامه از متودی به نام push استفاده میکند که گره جدید را در لیست پیوندی دوطرفه درج میکند.

الحاق یا Appending یا درج در انتها به یک لیست پیوندی دوگانه
الحاق به یک لیست دارای پیوند دوطرفه ، عنصر را در انتهای لیست پیوندی اضافه می کند.


جهت دانلود سورس کدهای موجود در این مقاله از لینک زیر استفاده کنید:
همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس
