Merge Sort Algorithm in C#

Sdílet
Vložit
  • čas přidán 22. 02. 2020
  • In this video I explain how the Merge Sort algorithm works, in a visual way. At the end of the video I also provide the implementation in C#.
    If you like this video, please consider taking my course on Data Structures using C# and .NET Core 3.0:
    www.udemy.com/course/data-str...
  • Věda a technologie

Komentáře • 9

  • @crimsn5473
    @crimsn5473 Před 3 lety +11

    amazing video, I'm sorry you don't have more views on this...

  • @yoavsutskover9582
    @yoavsutskover9582 Před 2 lety +6

    amazing video

  • @okoronnamdi
    @okoronnamdi Před rokem +1

    Nice video well-done

  • @adrien8768
    @adrien8768 Před rokem +1

    Can You shard this wpf code for displaying the algorithme. I want to make the same but in blazor ? Thanks

  • @muradazimzadadev
    @muradazimzadadev Před 2 lety +6

    I got StackOverFlow exception

  • @bogdan.vilimonovic
    @bogdan.vilimonovic Před 9 měsíci +2

    public static void MergeSort(int[] array, int left, int right)
    {
    if(left < right)
    {
    int middle = (left + (right - 1)) / 2 + 1;
    MergeSort(array, left, middle - 1);
    MergeSort(array, middle, right);
    Merge(array, left, middle, right);
    }
    }
    public static void Merge(int[] array, int left, int middle, int right)
    {
    int leftIterator, rightIterator, arrayIterator;
    int leftArrayLength = middle - left;
    int rightArrayLength = right - middle + 1;
    int[] leftArray = new int[leftArrayLength];
    int[] rightArray = new int[rightArrayLength];
    for(leftIterator = 0; leftIterator < leftArrayLength; leftIterator++)
    {
    leftArray[leftIterator] = array[left + leftIterator];
    }
    for(rightIterator = 0; rightIterator < rightArrayLength; rightIterator++)
    {
    rightArray[rightIterator] = array[middle + rightIterator];
    }
    leftIterator = 0;
    rightIterator = 0;
    arrayIterator = left;

    while(leftIterator < leftArrayLength && rightIterator < rightArrayLength)
    {
    if (leftArray[leftIterator]