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(
JOptionPane.showMessageDialog(
}
}
No comments:
Post a Comment