از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
شش سال پیش منتشر شده
تعداد بازدید: 157
کد پروژه: 151903
شرح پروژه
مهلت ارسال پروژه تا روز امتحان ساختمان داده می باشد.
یک صف نانوایی معمولی در نظر بگیرید
در این صف فرد جدید در اخر صف قرار میگرد و فردی که در ابتدای صف است زودتر خارج میشود و نان میگیرد
حالا فرض کنید برای هر تعداد نان یک صف مجزا داریم
یعنی صف های 1تایی 2تایی 3تایی که هر فرد متناسب با هر تعداد نان که میخوهد در صف قرار میگیرد
تعداد ان صف ها بینهایت است
باید با استفادهاز لیست پیوندی چرخشی و صف پیاده سازی شود
بینهایت لیست پیوندی چرخشی داریم که هر کدام از ان ها به یک صف مجزا اشاره میکنند
ترتیب اجرا به این صورت است که ابتدا فرد اول موجود در هر صف نان میگیرد و این روند به صورت چرخشی ادامه دارد
یعنی اگر سه صف 1 2 4 داشته باشیم:
ابتدا فرد در ابتدای صف 1 یک عدد نان میگرد سپس فرد در ابتدای صف 2 دو عدد نان میگیرد و در صف 4 4عدد نان میگرد و سپس دوباره فرد موجود در صف 1
اگر یک صف خالی شود باید اشاره گر ان حذف شود یعنی در مثال بالا اگر صف 2 خالی شود انگاه صف1 و 4 داریم
نانوا و افراد با ساختار برنامه کاری ندارند و فقط با یک id کار میکنند به این صورت که شخص بعد از وارد شدن به نانوایی تعداد نان ها را وارد میکند و برنامه ان را صف قرار میدهد و یک id به او میدهد(متود enqueue)
نانوا در هر بار با زدن دکمه dequeue تعداد نان ها و id شخص را اعلام میکند و نان ها را تحویل میدهد
متود های enqueue dequeue پیاده سازی شوند:
enqueue: شخص تعداد نان را وارد میکند و وارد صف لازم میشود و اگر ان وجود نداشت ساخته میشود و در ان قرار میگیرد
dequeue:فرد از صف فعلی(نوبت ان است) خارج میشود و id او اعلام میشود و نانوا تعداد نان های لازم را به او میدهد
پس باید یه متغییر نیز داشته باشید که اشاره گر به صفی که نوبت ان است باشد و هر دفعه تغییر کند
اگر ساختمان داده را درست پیاده سازی کنید خیلی راحت است
این پروژه شامل 1 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.
مهارت ها و تخصص های مورد نیاز
مهلت برای انجام
3روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت شش سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصتهای متعددی در سایت موجود میباشد.
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار