Merge Sort Algorithm in C#
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
amazing video, I'm sorry you don't have more views on this...
amazing video
Nice video well-done
Can You shard this wpf code for displaying the algorithme. I want to make the same but in blazor ? Thanks
I got StackOverFlow exception
The calculation for m is wrong , make it
m = (l+(r-1))/2+1
*added the ()
Smart man
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]