import java.util.ArrayList;
public class Quicksort
{
public static void main (String [] args)
{
ArrayList <Integer> numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(3);
numbers.add(2);
numbers.add(7);
numbers.add(6);
numbers.add(4);
numbers.add(1);
System.out.println(numbers);
sortquickly(numbers, 0, numbers.size() - 1);
System.out.println(numbers);
}
public static void sortquickly (ArrayList <Integer> numbers, int begin, int end)
{
int i = begin;
int j = end;
int pivot = begin;
if (j - i >= 1)
{
while (i < j)
{
while (numbers.get(i) <= pivot && i <= end && j > i)
i++;
while (numbers.get(j) > pivot && j >= begin && j >= i)
j--;
if (i < j)
Swap(numbers, i, j);
}
Swap(numbers, begin, j);
sortquickly(numbers, begin, j - 1);
sortquickly(numbers, j + 1, end);
}
else
return;
}
public static void Swap (ArrayList <Integer> nums, int i, int j)
{
int temp = nums.get(i);
nums.set(i, nums.get(j));
nums.set(j, temp);
}
}
This post has been edited by Izviral: 16 June 2011 - 07:22 PM

New Topic/Question
Reply



MultiQuote





|