Quick Sorting algorithm code in C++, C++ program of Quick Sort
Implementation of Quicksort algorithm using C++ language

It is an algorithm which further depends on divide and conquers. It is an algorithm design paradigm based on multi-branched recursion.
   

Program Code:
#include<iostream>
using namespace std;

// function declaration which is used to swap two numbers


void swap(int* a, int* b)
{
int t = *a;
*a = *b;
*b = t;
}

// function declaration which is used to partition given array according to selected pivot element

int partition (int arr[], int low, int high)
{
int pivot = arr[high]; 
int i = (low - 1);
for (int j = low; j <= high- 1; j++)
{
if (arr[j] <= pivot)
{
 i++;   
swap(&arr[i], &arr[j]);
}
}
swap(&arr[i + 1], &arr[high]);
return (i + 1);
}

// function declaration which recursively call quicksort function untill low<high

void quickSort(int arr[], int low, int high)
{
if (low < high)
{
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}

// function declaration which is used to display the element of the given array

void printArray(int arr[], int size)
{
int i;
for (i=0; i < size; i++)
cout<<arr[i]<<"\t";
cout<<endl;
}

// main() function declaration with different function call


int main()
{
int arr[] = {2,8,9,13,6,5,4};
int n = sizeof(arr)/sizeof(arr[0]);
cout<<"Array entered by the user for sorting :";
cout<<endl;
printArray(arr, n);
quickSort(arr, 0, n-1);
cout<<"After apply Quciksort algorithm on entered array :";
cout<<endl;
printArray(arr, n);
return 0;
}


The program output is tested on www.jdoodle.com
Output:
Array entered by the user for sorting :
2 8 9 13 6 5 4
After apply Quciksort algorithm on entered array :
2 4 5 6 8 9 13


Thanks
Mukesh Rajput
Mukesh Rajput

Mukesh Rajput

I am a Computer Engineer, a small amount of the programming tips as it’s my hobby, I love to travel and meet people so little about travel, a fashion lover and love to eat food, I am investing a good time to keep the body fit so little about fitness also..

Post A Comment:

0 comments: