Implement Quicksort in C Language

Programming Languages

#include <stdio.h>

#define MAXARRAY 10

void quicksort(int arr[], int low, int high);

int main(void) {
int array[MAXARRAY] = {0};
int i = 0,n;
printf(“Enter number of elements”);
scanf(“%d”,&n);

for(i = 0; i < n; i++)
scanf(“%d”,&array[i]);

printf(“Before quicksort: “);
for(i = 0; i < n; i++) {
printf(” %d “, array[i]);
}
printf(“\n”);

quicksort(array, 0, (n – 1));

printf(“After quicksort: “);
for(i = 0; i < n; i++) {
printf(” %d “, array[i]);
}
printf(“\n”);
getch();
return 0;
}

void quicksort(int arr[], int low, int high)
{
int i = low;
int j = high;
int y = 0;

int z = arr[(low + high) / 2];

do
{
while(arr[i] < z) i++;

while(arr[j] > z) j–;

if(i <= j)
{
y = arr[i];
arr[i] = arr[j];
arr[j] = y;
i++;
j–;
}
} while(i <= j);

if(low < j)
quicksort(arr, low, j);

if(i < high)
quicksort(arr, i, high);
}

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.