Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions exercises/practice/simple-linked-list/.docs/instructions.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# Instructions

Write a simple linked list implementation that uses Elements and a List.
Write a prototype of the music player application.

The linked list is a fundamental data structure in computer science, often used in the implementation of other data structures.
They're pervasive in functional programming languages, such as Clojure, Erlang, or Haskell, but far less common in imperative languages such as Ruby or Python.
For the prototype, each song will simply be represented by a number.
Given a range of numbers (the song IDs), create a singly linked list.

Given a singly linked list, you should be able to reverse the list to play the songs in the opposite order.

The simplest kind of linked list is a singly linked list.
Each element in the list contains data and a "next" field pointing to the next element in the list of elements.
~~~~exercism/note
The linked list is a fundamental data structure in computer science, often used in the implementation of other data structures.

This variant of linked lists is often used to represent sequences or push-down stacks (also called a LIFO stack; Last In, First Out).
The simplest kind of linked list is a **singly** linked list.
That means that each element (or "node") contains data, along with something that points to the next node in the list.

As a first take, lets create a singly linked list to contain integers, and provide functions to reverse a linked list.
If you want to dig deeper into linked lists, check out [this article][intro-linked-list] that explains it using nice drawings.

When implementing this in a language with built-in linked lists, implement your own abstract data type.
[intro-linked-list]: https://medium.com/basecs/whats-a-linked-list-anyway-part-1-d8b7e6508b9d
~~~~
5 changes: 5 additions & 0 deletions exercises/practice/simple-linked-list/.docs/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Introduction

You work for a music streaming company.

You've been tasked with creating a playlist feature for your music player application.