public class Algorithm_Java {
static ArrayList<Integer> listNumber = new ArrayList<>();
public static void main(String[] args) {
listNumber.add(6);
listNumber.add(2);
listNumber.add(7);
listNumber.add(10);
listNumber.add(6);
listNumber.add(5);
listNumber.add(4);
listNumber.add(9);
listNumber.add(3);
listNumber.add(1);
listNumber.add(8);
QuickSort(0,listNumber.size() -1);
for (Integer value : listNumber) {
System.out.println("value : " + value);
}
}
private static void QuickSort( int left, int right) {
if (left >= right) return ;
int i = left ;
int j = right;
Integer t = 0;
Integer temp = listNumber.get(left);
while (i <j) {
while (listNumber.get(j) >= temp && j >i) j--;
while (listNumber.get(i) <= temp && j >i) i++;
if (j > i) {
t = listNumber.get(i);
listNumber.set(i, listNumber.get(j));
listNumber.set(j, t);
}
}
listNumber.set(left, listNumber.get(i));
listNumber.set(i, temp);
QuickSort(left, i-1);
QuickSort(j+1, right);
}
}