- Understand and be able to explain at least four different sorting algorithms
- What is Big O notation
- 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
- Allowed editors: vi, vim, emacs
- All your files will be compiled on Ubuntu 14.04 LTS
- Your programs and functions will be compiled with
gcc 4.8.4
using the flags-Wall
,-Werror
,-Wextra
, and-pedantic
- All your files should end with a newline
- A
README.md
file at the root of the project folder is mandatory - Your code should use the
Betty
style. It will be checked - You are not allowed to use global variables
- No more than 5 functions per file
- Unless specified, you are not allowed to use the standard library. Any use of functions like printf, puts, ... is forbidden
- Do not include any
main
functions in your files - All functions should have a prototype included in a header file called
sort.h
- Don't forget to push your header file
- Your header file must be include guarded
- A list/array does not need to be sorted if its size is less than 2