The assignment is split in two parts, first I have to rewrite all my sorts that I've done in past assignments but I have to implement an interface on each sort.
So far I have finished most of the sorts and implement the interface on each. Here is my Quick Sort for reference:
class QuickSort : ISorter { public void sort(int[] numbers, int low, int high) { if (low < high) { int pivot_location = partition(numbers, low, high); sort(numbers, low, pivot_location); sort(numbers, pivot_location + 1, high); } } private static int partition(int[] numbers, int low, int high) { int pivot = numbers[low]; int wall = low; for (int i = low + 1; i < high; i++) { if (numbers[i] < pivot) { wall++; swap_numbers(numbers, i, wall); } } swap_numbers(numbers, low, wall); return wall; } private static void swap_numbers(int[] numbers, int index1, int index2) { int temp = numbers[index1]; numbers[index1] = numbers[index2]; numbers[index2] = temp; } }
I will try to finish this part of the assignment as soon as possible so I can move to the next part. That's all for now, thanks for reading!
No comments:
Post a Comment