پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

صف دو انتهایی جاوا با استفاده از آرایه

چهار سال پیش منتشر شده

تعداد بازدید: 754

کد پروژه: 97089


شرح پروژه

سوال تکلیف تحویلی:

در این سوال شما بایستی نسخهی منحصربه فرد خود از ADT صف دوانتهایی1 یا .D.Q را طراحی و پیاده سازی نمایید. یک .D.Q قوی تر از هر دوADT های پشته و صف است، از این جنبه که می تواند تمامی عملیات هر دو نوع داده و حتی بیش تر از آن را پشتیبانی کند. استفاده از هیچ یک از کلاس ها یا واسط های ساخته شده و موجود درJava که عملیات مشابهی انجام می دهند مورد قبول نخواهد بود.کلاس .D.Q شما بایستی از آرایه برای ذخیرهی داده های قرار گرفته در .D.Q استفاده کند. به علاوه پیاده سازی شما بایستی امکان افزایش پویای اندازهی آرایه را به محض این که حداقل %90 ظرفیت .D.Q پر می شود فراهم کند. این افزایش باید یا اندازهی آرایه را دوبرابر کرده یا آن را با مقدار ثابتی از 10 عضو اضافه، بر مبنای پیکربندی ای که در زیر توضیح می

دهیم افزایش دهد. پیاده سازی شما بایستی حداقل شامل متدهای زیر باشد:

addFirst() : عضوی در سر .D.Q قرار می دهد.

addLast() : عضوی در دم .D.Q قرار می دهد.

removeFirst() : اولین عضو D.Q را حذف و آن را برمی گرداند. در صورت تهی بودن D.Q خطا برگردانده می شود.

removeLast() : آخرین عضو D.Q را حذف و آن را برمی گرداند. در صورت تهی بودن D.Q خطا برگردانده می شود.

isEmpty() : در صورتی که D.Q تهی باشد true و در غیر این صورت false برمی گرداند.

peekFirst() : اولین عضو D.Q را بدون حذف آن برمی گرداند.

peekLast() : آخرین عضو D.Q را بدون حذف آن برمی گرداند.

truncate() : اندازهی آرایهی واقعی را به اندازهی دقیق جایگاه های استفاده شده برای D.Q تقلیل می دهد.

setExpansionRule() : کاراکتری واحد (d برای دوبرابرکردن اندازه یا c برای افزایش اندازه با مقدار ثابت 10 عضو)

دریافت می کند. به طور پیش فرض، قاعدهی افزایش اندازه باید برای دوبرابرکردن اندازهی آرایه تنظیم شده باشد. فراخوانی های بعدی )(setExpansionRule این قاعده را باتوجه به پارامتر واردشده از حالتی به حالت دیگر تغییر خواهد داد.

به طور خاص شما بایستی:

الف) تشریحی شبه کدی از D.Q. ADT خود و واسط آن که شامل توضیحاتی دربارهی فرضیات و معانی کدتان است بنویسید.

ب) شبه کدی از متدهایD.Q. ADTی خود (خود متدها) بنویسید. دقت داشته باشید که کد جاوا شبه کد نیست و اینچنین نیز در نظر گرفته نمی شود. شبه کد شما بایستی شامل سطح انتزاعی بیش تر و بالاتر باشد.

ج) با استفاده از نماد ? به طور واضح نشان دهید پیچیدگی هر کدام از متدهای ADT شما چیست. به علاوه نشان دهید استفاده از متد )(truncate مفید یا غیر مفید است. پاسخ خود را به صورت شفاف بیان کنید.

د) برای کل ADT خود کدهای جاوا همراه با توضیح گذاری کامل پیاده سازی کنید. شما بایستی از generics برای پیاده سازی ADT خود استفاده کنید. ه) کد اجراگری (شامل متد )(main)که پیاده سازی وکارکرد کد شما را تست می کند پیاده سازی کنید. این امکان رادارید که هر نوع شیء (مانند اعداد صحیح) را برای کارکرد ADTخود به کار گیرید. شما بایستی حداقل دو حالت را در نظر بگیرید که در آن یک بار .D.Q به عنوان یک پشته و یک بار به عنوان یک صف مورد استفاده قرار می گیرد. به علاوه کلاس اجراگر شما بایستی شامل حالت های کافی برای چک کردن صحت کل پیاده سازی شما باشد.

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

حالت تغییر وضعیت دهد.

این پروژه شامل 2 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.

مهارت ها و تخصص های مورد نیاز


بودجه

5,000 تومان تا 100,000 تومان

مهلت برای انجام

2روز

وضعیت مناقصه

انجام شده


درباره کارفرما

عضویت چهار سال پیش

5 پروژه ثبت شده ،
0 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 60%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار