Friday, February 12, 2016

CS 2420 - Assignment 4 - Part 1

Now that we have turned in the last assignment, its time to start on the next one. This time we are switching languages to C#, which hasn't been easy getting used to the new syntax.

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