package QuickSort;
import java.util.ArrayList;
public class QuickSort {
public static void main(String[] args) {
ArrayList<Integer> lists = new ArrayList<Integer>();
lists.add(5);
lists.add(2);
lists.add(6);
lists.add(1);
lists.add(7);
lists.add(3);
lists.add(4);
//System.out.println(isOdd(3));
//System.out.println(isOdd(4));
System.out.println(lists);
//System.out.println(getMiddle(lists));
//System.out.println(lists.indexOf(getMiddle(lists)));
System.out.println(sort(lists));
}
//
public static boolean isOdd(int i) {
if(i % 2 == 0) {
return false;
}
else {
return true;
}
}
//
private static Integer getMiddle(ArrayList<Integer> array) {
if (isOdd(array.size())) {
return array.get(array.size()/2);
}
else {
return array.get(array.size()/2);
}
}
private static ArrayList<Integer> sort(ArrayList<Integer> array) {
int mid = getMiddle(array);
int midIndex = array.indexOf(mid);
int i = 0;
int j = array.size()-1;
int temp = array.get(0);
while(i!=midIndex || j !=midIndex) {
if(array.get(i) < mid) {
i++;
}
else {
if (array.get(j)>mid) {
j--;
}
else {
array.set(i, array.get(j));
array.set(j, temp);
i++;
j--;
temp = array.get(i);
}
}
}
return array;
}
}