Simple Linked List
Simple Linked List

Simple Linked List



Write a simple linked list implementation that uses Elements and a List.

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.

The simplest kind of linked list is a singly linked list. Each element in the list contains data and a pointer to the next element in the list of elements.

This variant of linked lists is often used to represent sequences or push-down stacks (also called a LIFO stack; Last In, First Out).

As a first take, lets create a singly linked list to contain the range (1..10), and provide functions to reverse a linked list and convert to and from arrays.

When implementing this in a language with built-in linked lists, implement your own abstract data type.

To complete this exercise, you need to create the data type LinkedList, and implement the following functions:

  • new
  • cons
  • nil
  • fromList
  • head
  • tail
  • isNil
  • reverseLinkedList
  • toList

You will find a dummy type declaration and type signatures already in place, but it is up to you to define the functions and create a meaningful data type.

Last updated 7 December 2022
Edit via GitHub The link opens in a new window or tab
Unison Exercism

Ready to start Simple Linked List?

Sign up to Exercism to learn and master Unison with 31 exercises, and real human mentoring, all for free.