Home Java Tutorials Quick Sort Algorithm Java Source Code and Tutorial

Software Configurations

Follow Me

Quick Sort Algorithm Java Source Code and Tutorial

 

This java source code will show how to sort an unsorted list of integer values. Quick Sort algorithm is used as the sorting algorithm to sort the list. For beautiful purpose used Java swing.

 

QuickSortAlgorithm.java

 

//copyrighted by topsourcecode.com
import javax.swing.JOptionPane;

public class QuickSortAlgorithm
{  
   public static void main(String []args)
   {
      int testArray[] = {50,3,84,59,128,19,35,10,137};

      JOptionPane one = new JOptionPane();
      JOptionPane.showMessageDialog(one,"QuickSort Algorithm\n");
      
      String output = "Unsorted Array\n";
      for(int i = 0; i < testArray.length; i++)
      {
         output = output+testArray[i]+"  ";
      }
      output=output+"\n";
      quickSort(testArray,0,testArray.length-1);
      output=output+"Sorted Array\n";
      for(int i = 0; i <testArray.length; i++)
      {
         output=output+testArray[i]+"  ";
      }
      JOptionPane.showMessageDialog(one,output);
  }

  public static void quickSort(int testArray[],int low, int length)
  {
      int lowPointer = low;
      int hiPointer = length;
      if (lowPointer >= length) 
      {
         return;
      }
      int midPointer = testArray[(lowPointer + hiPointer) / 2];
      for(int i=0;lowPointer < hiPointer;i++)
      {
         for(int j=0;lowPointer<hiPointer && testArray[lowPointer] < midPointer;j++)
         {
            lowPointer++;
         }
         
         for(int j=0;lowPointer<hiPointer && testArray[hiPointer] > midPointer;j++)
         {
            hiPointer--;
         }
         
         if (lowPointer < hiPointer) 
         {
            int temp = testArray[lowPointer];
            testArray[lowPointer] = testArray[hiPointer];
            testArray[hiPointer] = temp;
         }
      }
      if (hiPointer < lowPointer) 
      {
         int temp = hiPointer;
         hiPointer = lowPointer;
         lowPointer = temp;
      }
      quickSort(testArray, low, lowPointer);
      if(lowPointer == low)
      {
         lowPointer = lowPointer+1;
      }   
      quickSort(testArray, lowPointer, length);
   }
}

 

Result


Share this post

 

Related Articles