Треки
/
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 вправ та справжнє наставництво від людей, і все це безкоштовно.