Monday, June 29, 2015

my{} JAVA quicksort

package quicksortrec;
import javax.swing.JOptionPane;
/**
 *
 * @author Class
 */
public class QuickSortRec {
 public static int splittingNumbers(int[] nums, int left, int right)

    {
        int piv = nums[left];

        while (true)

        {
            while (nums[left] < piv)

                left++;

            while (nums[right] > piv)

                right--;

            if (left < right)

              {

                int temp = nums[right];

                nums[right] = nums[left];

                nums[left] = temp;

              }

              else

              {

                    return right;

              }
        }
    }

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

    {

        // quick sorting recursion
        if(left < right)

        {

            int piv = splittingNumbers(arr, left, right);



            if(piv > 1)

                QSrec(arr, left, piv - 1);



            if(piv + 1 < right)

                QSrec(arr, piv + 1, right);
        }
    }
    public static void main(String[] args)

    {

        int[] numarray = { 37, 2, 6, 4, 89, 10, 12, 68, 45 };

        int len = 9;

        QSrec(numarray, 0, len - 1);

            for (int i = 0; i < 9; i++)

               

     JOptionPane.showMessageDialog(null,numarray[i]);
          
     JOptionPane.showMessageDialog(null,"The numbers in the array have been quick sorted recursively");
    }

}

No comments:

Post a Comment