Треки
/
Factor
Factor
/
Вправи
/
Простий звʼязаний список
Простий звʼязаний список

Простий звʼязаний список

Середня

Вступ

Ми працюємо в компанії, що займається потоковим передаванням музики.

Наше завдання - створити можливість плейлистів для застосунку музичного плеєра.

Вказівки

Напишіть прототип застосунку музичного плеєра.

Для прототипу кожна пісня просто позначається числом. Маючи діапазон чисел (ідентифікатори пісень), створіть однозвʼязний список.

Маючи однозвʼязний список, ми повинні мати змогу розвернути його, щоб відтворити пісні у зворотному порядку.

Note

Звʼязний список - фундаментальна структура даних у компʼютерних науках, яку часто використовують у реалізації інших структур даних.

Найпростіший різновид звʼязного списку - однозвʼязний список. Це означає, що кожен елемент (або «вузол») містить дані та щось, що вказує на наступний вузол у списку.

Якщо ми хочемо заглибитися у звʼязні списки, варто поглянути на цю статтю, де все пояснено за допомогою гарних малюнків.

Слова

Визначте кортеж linked-list-node.

Визначте кортеж linked-list і надайте метод M: linked-list length (з sequences), щоб тести могли викликати length безпосередньо для вашого списку.

  • <linked-list> ( -- linked-list ) - створити порожній список.
  • >linked-list ( seq -- linked-list ) - додати кожен елемент із seq до нового списку, зберігаючи їхній порядок.
  • linked-list>array ( linked-list -- array ) - повернути значення, починаючи з верхівки списку.
  • list-push ( linked-list value -- linked-list ) - покласти значення на верхівку.
  • list-pop ( linked-list -- linked-list value ) - вилучити й повернути верхнє значення.
  • list-peek ( linked-list -- value ) - повернути верхнє значення, не вилучаючи його.
  • list-reverse ( linked-list -- linked-list ) - повернути список з елементами у зворотному порядку.

Викиньте клас помилки list-empty з list-pop і list-peek, коли список порожній.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Factor Exercism

Час розпочати Простий звʼязаний список?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Factor, а також 47 концепцій163 вправи та справжнє наставництво від людей, і все це безкоштовно.