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