What you should learn from this project:
- At least four different sorting algorithms
- What is the Big O notation, and how to evaluate the time complexity of an algorithm
- How to select the best sorting algorithm for a given input
- What is a stable sorting algorithm
- Write a function that sorts an array of integers in ascending order using the Bubble sort algorithm
- Write a function that sorts a doubly linked list of integers in ascending order using the Insertion sort algorithm
- Write a function that sorts an array of integers in ascending order using the Selection sort algorithm
- Write a function that sorts an array of integers in ascending order using the Quick sort algorithm
- Write a function that sorts an array of integers in ascending order using the Shell sort algorithm, using the Knuth sequence
- Write a function that sorts a doubly linked list of integers in ascending order using the Cocktail shaker sort algorithm
- Write a function that sorts an array of integers in ascending order using the Counting sort algorithm
- Write a function that sorts an array of integers in ascending order using the Merge sort algorithm
- Write a function that sorts an array of integers in ascending order using the Heap sort algorithm
- Write a function that sorts an array of integers in ascending order using the Radix sort algorithm
- Write a function that sorts an array of integers in ascending order using the Bitonic sort algorithm
- Write a function that sorts an array of integers in ascending order using the Quick sort algorithm
- Write a function that sorts a deck of cards.