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:
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;
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;
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;
Programs should be implemented using each language's data structures and idioms;
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).
No libraries other than the ones provided with the programming language distribution can be used.