import java.util.Scanner;
class tsort {
private int[] numbers;
private int number;
public void sort(int[] values) {
// Check for empty or null array
if (values ==null || values.length==0){
return;
}
this.numbers = values;
number = values.length;
quicksort(0, number - 1);
for(int k = 0;k<numbers.length;k++)
{
System.
out.
println(numbers
[k
]); }
}
private void quicksort(int low, int high) {
int i = low, j = high;
// Get the pivot element from the middle of the list
int pivot = numbers[low + (high-low)/2];
// Divide into two lists
while (i <= j) {
// If the current value from the left list is smaller then the pivot
// element then get the next element from the left list
while (numbers[i] < pivot) {
i++;
}
// If the current value from the right list is larger then the pivot
// element then get the next element from the right list
while (numbers[j] > pivot) {
j--;
}
// If we have found a values in the left list which is larger then
// the pivot element and if we have found a value in the right list
// which is smaller then the pivot element then we exchange the
// values.
// As we are done we can increase i and j
if (i <= j) {
exchange(i, j);
i++;
j--;
}
}
// Recursion
if (low < j)
{
quicksort(low, j);
}
if (i < high)
{
quicksort(i, high);
}
}
private void exchange(int i, int j) {
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
class test3
{
public static void main
(String[] args
) { int number[]= null;
int i ;
try
{
Scanner sc
= new Scanner
(System.
in); int l = sc.nextInt();
number=new int[l]; //you had not created!!!!
for( i=0;i<l;i++)
{
number[i]=sc.nextInt();
}
tsort t = new tsort();
t.sort(number);
}
{
}
}
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKCmNsYXNzIHRzb3J0ICB7CgogIHByaXZhdGUgaW50W10gbnVtYmVyczsKICBwcml2YXRlIGludCBudW1iZXI7CgogIHB1YmxpYyB2b2lkIHNvcnQoaW50W10gdmFsdWVzKSB7CgogICAgLy8gQ2hlY2sgZm9yIGVtcHR5IG9yIG51bGwgYXJyYXkKICAgIGlmICh2YWx1ZXMgPT1udWxsIHx8IHZhbHVlcy5sZW5ndGg9PTApewogICAgICByZXR1cm47CiAgICB9CiAgICB0aGlzLm51bWJlcnMgPSB2YWx1ZXM7CiAgICBudW1iZXIgPSB2YWx1ZXMubGVuZ3RoOwogICAgcXVpY2tzb3J0KDAsIG51bWJlciAtIDEpOwoKICAgICBmb3IoaW50IGsgPSAwO2s8bnVtYmVycy5sZW5ndGg7aysrKQogICAgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihudW1iZXJzW2tdKTsKICAgIH0KCiAgfQoKICBwcml2YXRlIHZvaWQgcXVpY2tzb3J0KGludCBsb3csIGludCBoaWdoKSB7CiAgICBpbnQgaSA9IGxvdywgaiA9IGhpZ2g7CiAgICAvLyBHZXQgdGhlIHBpdm90IGVsZW1lbnQgZnJvbSB0aGUgbWlkZGxlIG9mIHRoZSBsaXN0CiAgICBpbnQgcGl2b3QgPSBudW1iZXJzW2xvdyArIChoaWdoLWxvdykvMl07CgogICAgLy8gRGl2aWRlIGludG8gdHdvIGxpc3RzCiAgICB3aGlsZSAoaSA8PSBqKSB7CiAgICAgIC8vIElmIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIGxlZnQgbGlzdCBpcyBzbWFsbGVyIHRoZW4gdGhlIHBpdm90CiAgICAgIC8vIGVsZW1lbnQgdGhlbiBnZXQgdGhlIG5leHQgZWxlbWVudCBmcm9tIHRoZSBsZWZ0IGxpc3QKICAgICAgd2hpbGUgKG51bWJlcnNbaV0gPCBwaXZvdCkgewogICAgICAgIGkrKzsKICAgICAgfQogICAgICAvLyBJZiB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSByaWdodCBsaXN0IGlzIGxhcmdlciB0aGVuIHRoZSBwaXZvdAogICAgICAvLyBlbGVtZW50IHRoZW4gZ2V0IHRoZSBuZXh0IGVsZW1lbnQgZnJvbSB0aGUgcmlnaHQgbGlzdAogICAgICB3aGlsZSAobnVtYmVyc1tqXSA+IHBpdm90KSB7CiAgICAgICAgai0tOwogICAgICB9CgogICAgICAvLyBJZiB3ZSBoYXZlIGZvdW5kIGEgdmFsdWVzIGluIHRoZSBsZWZ0IGxpc3Qgd2hpY2ggaXMgbGFyZ2VyIHRoZW4KICAgICAgLy8gdGhlIHBpdm90IGVsZW1lbnQgYW5kIGlmIHdlIGhhdmUgZm91bmQgYSB2YWx1ZSBpbiB0aGUgcmlnaHQgbGlzdAogICAgICAvLyB3aGljaCBpcyBzbWFsbGVyIHRoZW4gdGhlIHBpdm90IGVsZW1lbnQgdGhlbiB3ZSBleGNoYW5nZSB0aGUKICAgICAgLy8gdmFsdWVzLgogICAgICAvLyBBcyB3ZSBhcmUgZG9uZSB3ZSBjYW4gaW5jcmVhc2UgaSBhbmQgagogICAgICBpZiAoaSA8PSBqKSB7CiAgICAgICAgZXhjaGFuZ2UoaSwgaik7CiAgICAgICAgaSsrOwogICAgICAgIGotLTsKICAgICAgfQogICAgfQogICAgLy8gUmVjdXJzaW9uCiAgICBpZiAobG93IDwgaikKICAgIHsKICAgICAgcXVpY2tzb3J0KGxvdywgaik7CiAgICB9CiAgICBpZiAoaSA8IGhpZ2gpCiAgICB7CiAgICAgICAgcXVpY2tzb3J0KGksIGhpZ2gpOwogICAgfQoKCiAgfQoKCgogIHByaXZhdGUgdm9pZCBleGNoYW5nZShpbnQgaSwgaW50IGopIHsKICAgIGludCB0ZW1wID0gbnVtYmVyc1tpXTsKICAgIG51bWJlcnNbaV0gPSBudW1iZXJzW2pdOwogICAgbnVtYmVyc1tqXSA9IHRlbXA7CiAgfQp9CiBjbGFzcyB0ZXN0MyAKICAgIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICAgaW50IG51bWJlcltdPSBudWxsOwogICAgICAgICBpbnQgaSA7CgogICAgICAgICB0cnkKICAgICAgICAgewogICAgICAgICBTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICAgaW50IGwgPSBzYy5uZXh0SW50KCk7CiAgICAgICAgIG51bWJlcj1uZXcgaW50W2xdOyAgICAgICAgIC8veW91IGhhZCBub3QgY3JlYXRlZCEhISEKICAgICAgICAgZm9yKCBpPTA7aTxsO2krKykKICAgICAgICAgewoKCgogICAgICAgICAgICAgbnVtYmVyW2ldPXNjLm5leHRJbnQoKTsKCgogICAgICAgICB9CgogICAgICAgICB0c29ydCB0ID0gbmV3IHRzb3J0KCk7CgogICAgICAgICB0LnNvcnQobnVtYmVyKTsKCiAgICAgICAgIH0KICAgICAgICAgY2F0Y2goRXhjZXB0aW9uIGUpCiAgICAgICAgIHsKCiAgICAgICAgIH0KCiAgICB9Cn0=