خانه / آزمون / آرایه‌ی پویا

آرایه‌ی پویا

نام و تاریخ مسابقه: جی‌کل ۶ – ۱۸ بهمن ۱۳۹۶

مباحث: رشته و آرایه

کلاس DynamicArray.java را دانلود کرده و محتوای آن را ببینید.

در این کلاس یک آرایه با نام data و سه متد با نام‌های getData برای برگرداندن آرایه‌ی data، متد add برای اضافه کردن داده به آرایه و متدdelete برای حذف داده از آرایه، وجود دارد. هم‌چنین یک متد سازنده نیز وجود دارد که برای ساخت آرایه‌ی اولیه با اندازه دلخواه، از آن استفاده می‌شود.

شما باید با توجه به توضیحات زیر، دو متد add و delete را پیاده‌سازی کنید.

  • متد (public void add(String data: پارامتر ورودی را به آخرین خانه‌ی خالی آرایه‌ی data اضافه می‌کند. اگر آرایه پر شده بود، باید سایز آرایه رادو برابر کرده و سپس پارامتر ورودی را به آن اضافه کند.
  • متد (public int delete (int index: محتویات خانه‌ای از آرایه که دارای اندیس index است را پاک می‌کند و محتویات خانه‌های سمت راستش را، یک خانه به چپ شیفت می‌دهد ( به مثال توجه کنید).
    • اگر index داخل محدوده‌ی آرایه نباشد یا به یک خانه‌ی خالی اشاره کند، آرایه‌ی data هیچ تغییری نکرده و عدد ۱- باید برگردانده شود.
    • اگر index مقدار معتبری داشته باشد، پس از حذف، عدد ۱ باید برگردانده شود.
    • اگر با انجام عمل حذف، تعداد خانه‌های پر آرایه کمتر یا مساوی یک چهارم اندازه‌ی آرایه شد، سایز آرایه‌ی data باید نصف شود.

مثال:

در مثال زیر، آرایه‌ی data با اندازه‌ی اولیه‌ی ۵ ایجاد شده است. به اندازه و محتویات این آرایه پس از هر حذف یا اضافه، دقت کنید.

 

منظور از خانه‌های خالی، خانه‌هایی است که مقدار null دارند و خانه‌های پر، خانه‌هایی است که مقدار غیر null دارند.

آنچه باید آپلود کنید:

فقط فایل DynamicArray.java را zip کرده و بارگذاری کنید. دقت کنید که فایل DynamicArray.java در داخل هیچ پوشه‌ای نباید قرار داشته باشد و وقتی فایل زیپ را باز می‌کنیم، دقیقا و فقط فایل DynamicArray.java را ببینیم.

برای داوری تمرین، می‌توانید پاسخ خود را در سایت Quera به نحوی که در بالا گفته شد، بارگذاری کنید.

برای آشنایی با نحوه‌ی ارسال پاسخ در Quera، این مطلب را مطالعه کنید.


با ما همراه باشید:

آدرس کانال تلگرام: IranianJavaDevelopers@

آدرس اکانت توییتر: JavaCupIR@

آدرس صفحه اینستاگرام: javacup.ir

آدرس گروه لینکدین: Iranian Java Developers

 


درباره سردبیر

همچنین بررسی کنید

نتایج نهایی فینال پنجمین مسابقه جاواکاپ

فینال پنجمین دوره مسابقات جاواکاپ در روز جمعه ۲۵ آبان‌ماه ۱۳۹۷ در دانشگاه شهید بهشتی …

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

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