مسیرها
/
C++
C++
/
تمرین‌ها
/
لیست پیوندی ساده
لیست پیوندی ساده

لیست پیوندی ساده

متوسط

مقدمه

شما در یک شرکت پخش آنلاین موسیقی کار می‌کنید.

به شما سپرده شده است که برای اپلیکیشن پخش موسیقی‌تان قابلیت «پخش‌لیست» را بسازید.

دستورالعمل‌ها

نمونه‌ای اولیه از برنامه‌ی پخش‌کننده‌ی موسیقی بنویسید.

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

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

Note

لیست پیوندی یک ساختار داده‌ی بنیادی در علوم کامپیوتر است که اغلب در پیاده‌سازی ساختارهای داده‌ی دیگر به کار می‌رود.

ساده‌ترین نوع لیست پیوندی، لیست پیوندی یک‌طرفه است. یعنی هر عنصر (یا «گره») شامل داده است، همراه با چیزی که به گره‌ی بعدی در لیست اشاره می‌کند.

اگر می‌خواهید بیشتر در مورد لیست‌های پیوندی کاوش کنید، این مقاله را ببینید که آن را با تصاویر زیبا توضیح می‌دهد.

نکته‌های پیاده‌سازی

ساختار کلی یک کلاس List را برایتان آماده کرده‌ایم. این کلاس دو متغیر خصوصی دارد که می‌توانید از آن‌ها استفاده کنید: head از نوع Element* و current_size از نوع size_t.

ساختار Element هم در اختیارتان گذاشته شده است؛ این ساختار دو متغیر دارد: data از نوع int و next از نوع Element*.

جزئیات را می‌توانید در simple_linked_list.h ببینید. لازم نیست آن فایل را تغییر دهید، اما اگر با نیازهایتان جور درمی‌آید، می‌توانید این کار را بکنید.

آزمون‌ها از همان توابعی استفاده می‌کنند که در simple_linked_list.cpp آمده است؛ امضای آن‌ها را تغییر ندهید. اگر بخواهید، می‌توانید توابع و اعضای بیشتری اضافه کنید.

آیا می‌توانم از اشاره‌گرهای هوشمند استفاده کنم؟

هرچند فایل هدر اشاره‌گرهای خام را در بر می‌گیرد، در انتخاب پیاده‌سازی دیگری آزاد هستید.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
C++ Exercism

آماده‌اید لیست پیوندی ساده را شروع کنید؟

در Exercism ثبت‌نام کنید تا C++ را همراه با 19 مفهوم100 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.