Quick Sort

#include<stdio.h>
void swap(int* a, int* b)
{
    int t = *a;
    *a = *b;
    *b = t;
}
int partition(int arr[], int p , int q)
{
    int x= arr[p];
    int i= p;
    for(int j=p+1;j<=q;j++)
    {
        if(arr[j]<x)
        {
            i++;
            swap(&arr[i],&arr[j]);
        }
    }
    swap(&arr[p],&arr[i]);
    return i;
}
void QuickSort(int arr[],int p, int q)
{
    if(p<q)
    {
       int r=partition(arr,p,q);
        QuickSort(arr,p,r-1);
        QuickSort(arr,r+1,q);
    }
}
int main()
{
  int arr[30],n,i;
	printf("Enter no of elements:");
	scanf("%d",&n);
	printf("Enter array elements:");

	for(i=0;i<n;i++)
		scanf("%d",&arr[i]);

	QuickSort(arr,0,n-1);

	printf("\nSorted array is :");
	for(i=0;i<n;i++)
		printf("%d ",arr[i]);

	return 0;
}

Leave a comment

Create a website or blog at WordPress.com

Up ↑

Design a site like this with WordPress.com
Get started