Q:

C# program to sort an array using merge sort

0

C# program to sort an array using merge sort

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program:

The source code to sort an integer array using merge sort is given below. The given program is compiled and executed successfully on Microsoft Visual Studio.

//C# program to sort an array using merge sort

using System;

class Test
{
    static void Merge(int[] arr, int low, int mid, int high)
    {
        int[] tempArr = new int[arr.Length];

        int left1   =   0;
        int temp    =   0;

        int total = 0;
        int loop  = 0;

        left1 = (mid - 1);
        temp = low;
        total = (high - low + 1);

        while ((low <= left1) && (mid <= high))
        {
            if (arr[low] <= arr[mid])
                tempArr[temp++] = arr[low++];
            else
                tempArr[temp++] = arr[mid++];
        }
        while (low <= left1)
            tempArr[temp++] = arr[low++];
        while (mid <= high)
            tempArr[temp++] = arr[mid++];

        for (loop = 0; loop < total; loop++)
        {
            arr[high] = tempArr[high];
            high--;
        }

    }
    static void Sort(int[] arr, int low, int high)
    {
        int mid=0;

        if (high > low)
        {
            mid = (high + low) / 2;

            Sort(arr, low, mid);
            Sort(arr, (mid + 1), high);

            Merge(arr, low, (mid + 1), high);

        }
    }
    
    static void Main(string[] args)
    {
        int[] arr = { 32, 18, 27, 65, 12, 41, 22, 26, 44 };

        int length = 0;
        int loop   = 0;

        length = arr.Length;

        Sort(arr, 0, length - 1);

        Console.WriteLine("Sorted Array:");
        for (loop = 0; loop < arr.Length; loop++)
            Console.Write(arr[loop] + " ");
        Console.WriteLine();
    }
}

Output:

Sorted Array:
12 18 22 26 27 32 41 44 65
Press any key to continue . . .

Explanation:

In the above program, we created a class Sort that contains three static methods Sort()Merge(), and Main().

Here, we use Sort() method uses divide and conjure technique to sort the given integer array, here we used recursion, to divide and merge arrays partitions.

The Sort class also contains the Main() method, here we create an integer array and then called Sort() method that will sort the array in the ascending order and printed the sorted array on the console screen.

 

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C# Data Structure Solved Programs/Examples

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
C# program to sort an integer array using Radix So... >>
<< C# program to sort an array using quick sort...