ساختمان داده لیست پیوندی Linked List در جاوا

لیست پیوندی نوعی از ساختمان داده برای حافظه است و ذخیره ی داده ها است. اما لیست پیوندی بر خلاف آرایه و … محدودیت مکانی ندارد و هر تعداد داده ای می‌توان در آن قرار داد. لیست پیوندی در اصل از یک گره یا Node به اسم head تشکیل شده است که همان گره خود اشاره گری به یک گره ی دیگر در خود دارد و آن گره هم یک اشاره گر به گره ی دیگر و … و عملا ما لیست یا زنجیری از گره ها را خواهیم داشت که به آن لیست پیوندی می‌گویند 🙂
معمولا برای لیست پیوندی متدهای زیر ممکن است تعریف شود:
متد insertFirst: یک داده به ابتدای لیست اضافه می‌کند.
متد insertLast: یک داده به انتهای لیست اضافه می‌کند.
متد deleteFirst: داده‌ی ابتدای لیست را برمی‌گرداند و سپس آن گره را از لیست حذف می‌کند.
متد deleteLast: داده‌ی انتهای لیست را برمی‌گرداند و سپس آن گره را از لیست حذف می‌کند.
متد peekFirst: داده‌ی ابتدای لیست را برمی‌گرداند ولی آن گره را از لیست حذف نمی‌کند.
متد peekLast: داده‌ی انتهای لیست را برمی‌گرداند ولی آن گره را از لیست حذف نمی‌کند.
متد isEmpty: در صورتی که لیست خالی باشد مقدار true را برمی‌گرداند.
(بیشتر…)

ساختمان داده صف Queue در جاوا

صف یا Queue یک حافظه ی First In – First Out است. یعنی داده ای که زودتر در این حافظه قرار می‌گیرد، زودتر از همه هم از حافظه خارج می‌شود.
معمولا برای صف متدهای زیر تعریف می‌شود:
متد insert: یک داده به انتهای صف اضافه می‌کند.
متد delete: داده ی ابتدای صف را برمی‌گرداند و سپس از صف خارج می‌کند.
متد peek: داده ی ابتدای صف را برمی‌گرداند ولی آن را از صف خارج نمی‌کند.
متد isEmpty: در صورتی که صف خالی باشد مقدار true را برمی‌گرداند.
متد isFull: در صورتی که ظرفیت حافظه ی صف پر شده باشد مقدار true را برمی‌گرداند.
متد size: تعداد اعضای منتظر در صف را برمی‌گرداند.
متد maxSize: ظرفیت صف را برمی‌گرداند.
(بیشتر…)

ساختمان داده پشته Stack در جاوا

پشته یا Stack یک حافظه ی First in – Last out است. یعنی داده ای که زودتر در این حافظه قرار می‌گیرد، دیرتر از همه هم از حافظه خارج می‌شود.
معمولا برای پشته متدهای زیر تعریف می‌شود:
متد push: یک داده به انتهای پشته اضافه می‌کند.
متد pop: آخرین داده در پشته را برمی‌گرداند و سپس از پشته حذف می‌کند.
متد peek: آخرین داده در پشته را برمی‌گرداند ولی آن را از پشته حذف نمی‌کند.
متد isEmpty: در صورتی که پشته خالی باشد مقدار true را برمی‌گرداند.
متد isFull: در صورتی که ظرفیت حافظه ی پشته پر شده باشد مقدار true را برمی‌گرداند.
متد getMaxSize: حداکثر اندازه‌ی پشته را برمی‌گرداند.
متد getSize: تعداد اعضای پر در پشته را برمی‌گرداند.
(بیشتر…)

بازی حافظه در جاوا

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