ADVERTISEMENT
ADVERTISEMENT

C# program to sort an array using quick sort

Here, we are going to learn how to sort an array using quick sort in C#?
Submitted by Nidhi, on November 07, 2020

Here, we will sort an integer array using quick sort.

Quick Sort: QuickSort is the divide and conquer algorithm, here we picks an item as a pivot and then partition the array, normally we picked the middle element as a pivot.

The main process in quick sort is portioning. In the QuickSort(), we used recursion to process partitions and sort the array.

Program:

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

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

using System;

class Sort
{
    private int[] intArray;
    
    //Initialize array
    public Sort(int []arr)
    {
        intArray = new int[arr.Length];
        intArray = arr;

    }
    public void QuickSort(int low, int high)
    {
        int pivot    =0;
        int left     =0;
        int right    =0;

        left = low;
        right = high;
        pivot = intArray[low];

        while (low < high)
        {
            while ((intArray[high] >= pivot) && (low < high))
            {
                high--;
            }

            if (low != high)
            {
                intArray[low] = intArray[high];
                low++;
            }

            while ((intArray[low] <= pivot) && (low < high))
            {
                low++;
            }

            if (low != high)
            {
                intArray[high] = intArray[low];
                high--;
            }
        }

        intArray[low] = pivot;
        pivot = low;
        low = left;
        high = right;

        if (low < pivot)
        {
            QuickSort(low, pivot - 1);
        }

        if (high > pivot)
        {
            QuickSort(pivot + 1, high);
        }
    }

    public static void Main()
    {
        int[] arr = { 12,21,13,32,34,43,77,42 };
     
        Sort sort = new Sort(arr);

        int length  = 0;
        int loop    = 0;

        length = arr.Length;

        sort.QuickSort(0,length-1);

        Console.WriteLine("Sorted array:");
        for (loop = 0; loop < length; loop++)
        {
            Console.Write(sort.intArray[loop]+" ");
        }
        Console.WriteLine();
    }
}

Output:

Sorted array:
12 13 21 32 34 42 43 77
Press any key to continue . . .

Explanation:

In the above program, we created a class Sort that contains an integer array intArray as a data member and we initialized the integer array using parameterized constructor.

Here, we implemented a method QuickSort() to sort the integer array based on QuickSort algorithm.

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

C# Data Structure Programs »


ADVERTISEMENT



ADVERTISEMENT



Comments and Discussions


ADVERTISEMENT

ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.