Quick Sort is one of the fastest sorting algorithms.

Here is the code snippet for Java.

public static int divide(int array[], int left, int right)

{

int i = left, j = right;

int tmp;

int pivot = array[(left + right) / 2];

while (i <= j) {

while (array[i] < pivot)

i++;

while (array[j] > pivot)

j--;

if (i <= j) {

tmp = array[i];

array[i] = array[j];

array[j] = tmp;

i++;

j--;

}

}

return i;

}

public static void q_srt(int arr[], int left, int right) {

int i = divide(arr, left, right);

if (left < i - 1)

q_srt(arr, left, i - 1);

if (i < right)

q_srt(arr, i, right);

}

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

int []sample = {13,21,36,0,32,54,1,3};

for(int x=0;x<sample.length;x++){

System.out.print(sample[x]+":");

}

System.out.println("\n-=Sorted Array=-");

q_srt(sample,0,7);

for(int x=0;x<sample.length;x++){

System.out.print(sample[x]+":");

}

}

Here is the code snippet for Java.

public static int divide(int array[], int left, int right)

{

int i = left, j = right;

int tmp;

int pivot = array[(left + right) / 2];

while (i <= j) {

while (array[i] < pivot)

i++;

while (array[j] > pivot)

j--;

if (i <= j) {

tmp = array[i];

array[i] = array[j];

array[j] = tmp;

i++;

j--;

}

}

return i;

}

public static void q_srt(int arr[], int left, int right) {

int i = divide(arr, left, right);

if (left < i - 1)

q_srt(arr, left, i - 1);

if (i < right)

q_srt(arr, i, right);

}

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

int []sample = {13,21,36,0,32,54,1,3};

for(int x=0;x<sample.length;x++){

System.out.print(sample[x]+":");

}

System.out.println("\n-=Sorted Array=-");

q_srt(sample,0,7);

for(int x=0;x<sample.length;x++){

System.out.print(sample[x]+":");

}

}