0% found this document useful (0 votes)
6 views2 pages

Quicksort

The document contains a C program that implements the QuickSort algorithm to sort an array of integers. It includes functions for printing the array, partitioning the array around a pivot, and recursively sorting the subarrays. The main function initializes an array, calls the sorting function, and prints the sorted result.

Uploaded by

Aditya Asthana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views2 pages

Quicksort

The document contains a C program that implements the QuickSort algorithm to sort an array of integers. It includes functions for printing the array, partitioning the array around a pivot, and recursively sorting the subarrays. The main function initializes an array, calls the sorting function, and prints the sorted result.

Uploaded by

Aditya Asthana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

#include <stdio.

h>

void printArray(int *A, int n)


{
for (int i = 0; i < n; i++)
{
printf("%d ", A[i]);
}
printf("\n");
}

int partition(int A[], int low, int high)


{
int pivot = A[low];
int i = low + 1;
int j = high;
int temp;

do
{
while (A[i] <= pivot)
{
i++;
}

while (A[j] > pivot)


{
j--;
}

if (i < j)
{
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
} while (i < j);

// Swap A[low] and A[j]


temp = A[low];
A[low] = A[j];
A[j] = temp;
return j;
}

void quickSort(int A[], int low, int high)


{
int partitionIndex; // Index of pivot after partition

if (low < high)


{
partitionIndex = partition(A, low, high);
quickSort(A, low, partitionIndex - 1); // sort left subarray
quickSort(A, partitionIndex + 1, high); // sort right subarray
}
}

int main()
{
//int A[] = {3, 5, 2, 13, 12, 3, 2, 13, 45};
int A[] = {9, 4, 4, 8, 7, 5, 6};
// 3, 5, 2, 13, 12, 3, 2, 13, 45
// 3, 2, 2, 13i, 12, 3j, 5, 13, 45
// 3, 2, 2, 3j, 12i, 13, 5, 13, 45 --> first call to partition returns 3
int n = 9;
n =7;
printArray(A, n);
quickSort(A, 0, n - 1);
printArray(A, n);
return 0;
}

You might also like