static final int AMOUNT = 1000; static ArrayList<Integer> numbers;
public QuickSort() { }
public static void main(String args[]) { numbers = new ArrayList<Integer>(); Random rand = new Random(); for (int i = 0; i < AMOUNT; i++) { numbers.add(rand.nextInt(AMOUNT + 1)); } numbers = quicksort(numbers); for (int i : numbers) { System.out.println(i + " "); } }
int middle = (int) Math.ceil((double) input.size() / 2); int pivot = input.get(middle);
ArrayList<Integer> less = new ArrayList<>(); ArrayList<Integer> greater = new ArrayList<>();
for (int i = 0; i < input.size(); i++) { if (input.get(i) <= pivot) { if (i == middle) { continue; } less.add(input.get(i)); } else { greater.add(input.get(i)); } }
static ArrayList<Integer> concatenate(List<Integer> less, int pivot, ArrayList<Integer> greater) {
ArrayList<Integer> list = new ArrayList<>(); for (int i = 0; i < less.size(); i++) { list.add(less.get(i)); } list.add(pivot); for (int i = 0; i < greater.size(); i++) { list.add(greater.get(i)); } return list; } }
Comments
Leave a comment