پیاده سازی صف با استفاده از لیست پیوندی (Link List) در سی پلاس پلاس ++C

پیاده سازی صف با لیست پیوندی در ++C عنوان موضوعی است که در این پست به آن پرداخته شده است. صف Queue لیست مرتبی است كه عناصر در انتهای آن (Rear) اضافه و از ابتدای آن(Front) حذف می شوند. به عبارت ديگر طول صف از انتهای آن افزایش و از ابتدای آن كاهش می یابد.

اولين عنصری که وارد صف می شود اولين عنصری است که از صف خارج می شود. بنابراين عناصر به همان ترتيبی که به صف اضافه می شوند از آن حذف می شوند. به همين دليل به صف لیست (FIFO (first in, first out نیز گفته می‌شود.

به دو روش می توان صف را ایجاد کرد 1- پیاده سازی صف با استفاده از آرایه 2- پیاده سازی صف با استفاده لیست پیوندی.

پیاده‌سازی صف با آرایه

صف را می توان توسط يک آرايه يک بعدی پیاده سازی کرد. به دو متغیر Front و Rear برای مشخص كردن ابتدا و انتهای صف نياز است. هر گاه عنصری به صف اضافه شود Rear یك گام به جلو حركت می كند و هر گاه كه عنصری را از صف حذف می شود Front یك واحد افزايش می يابد. چون اندازه آرايه از قبل تعريف می شود، هنگام اضافه کردن عنصری به صف ابتدا باید اطمينان حاصل کرد که هنوز ظرفیت پذیرش داده را دارد. اگر Rear برابر با ظرفیت كل آرایه شود صف پر درنظر گرفته می شود. اگر ابتدا و انتهای صف برابر بودند (Front=Rear) یعنی صف خالی است. عمل حذف روی صف خالی انجام نمی گيرد. طول صف يا تعداد عناصر موجود در صف برابر با Rear-Front است.

پیاده‌سازی صف با لیست پیوندی

در يک ليست پيوندی اگر درج در انتها و حذف از ابتدای آن انجام گيرد يک صف اجرا شده است. مزيت پياده سازی صف توسط ليست پيوندی در اين است که طول صف تنها محدود به حافظه در دسترس است.

پیاده سازی صف با لیست پیوندی در ++C

در ++C با دو روش می شود لینک لیست ایجاد کرد یکی با کلاس (class) یکی با ساختمان (struct) که تفاوت کمی دارند که ما لینک لیستمان را با کلاس درست می کنیم که بهتر است و اگر آن را بلد باشید با struct هم می توانید. در این پست برنامه لیست پیوندی Link List در سی پلاس پلاس ++C را آماده کرده ایم برای دانلود سورس محصول را خریداری کنید. بلافاصله پس از خرید، لینک دانلود محصول در اختیار شما قرار خواهد گرفت. کیفیت محصول توسط پی استور تضمین می شود.

1 دیدگاه برای پیاده سازی صف با استفاده از لیست پیوندی (Link List) در سی پلاس پلاس ++C

  1. programstore

    نظرات و دیدگاه های خود را با ما درمیان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.