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]+":");
}
}