Public | Automated Build

Last pushed: a year ago
Short Description
Image containing all compilers necessary for my quicksort project
Full Description


Several implementations of quicksort in multiple languages. Inspired by @hugopeixoto's mergesort project.


  1. Unless the language does not provide a standard IO library or there is no reasonable way to pass input to the program, programs should read the array to sort from stdin and output it sorted to stdout:
    1. Valid inputs are composed by two lines. The first contains a single integer, the number N of elements in the array. The second contains N integers separated by single spaces, the elements of the array to sort;
    2. The program should output a single line containing the N integers of the input array sorted and separated by single spaces, ending with a single newline;
  2. If possible, programs should not define a maximum size for the input apriori. They should be able to handle any array of reasonable size, which means they should allocate the necessary memory dynamically;
  3. Programs should be implemented using each language's data structures and idioms;
    1. There is no problem if the idiomatic way to implement quicksort in a language comes with a performance hit (for example, by not sorting in-place), but the implementation must not have an expected running time worse than O(n log n).
  4. No libraries other than the ones provided with the programming language distribution can be used.


The commands to compile and run each implementation are on the test script. To run a set of tests against an implementation, run:

./test <folder_name>

The tests to run are defined in the _test folder.

Docker Pull Command
Source Repository