Skip to main content

Quick Sort in C Code with Algorithm using Recursion and Code Reducing Techniques

Quick Sort in C Code with Algorithm using Recursion and Code Reducing Techniques :

Example for Quick Sort Program in C using Recursion with Algorithm is given below :-

Quicksort is a divide and conquer algorithm. Quicksort first divides a large list into two smaller sub-lists: the low elements and the high elements. Quicksort can then recursively sort the sub-lists. Pick an element, called a pivot, from the list. Reorder the list so that all elements with values less than the pivot come before the pivot, while all elements with values greater than the pivot come after it (equal values can go either way). After this partitioning, the pivot is in its final position. This is called the partition operation. Recursively sort the sub-list of lesser elements and the sub-list of greater elements. The base case of the recursion are lists of size zero or one, which never need to be sorted.

#include<stdio.h>
#include<conio.h>

void quick_Sort( int [], int, int ); /* function prototype declaration */

void main()
{
int a[ 100 ], n, i;
clrscr();

printf( "Enter the Number array elements to be sorted :" );
scanf( "%d", &n );

printf( "Enter array elements :\n" );
for ( i = 0; i < n ; scanf( "%d", &a[ i ] ), i++ ); /* use ; to end FOR LOOP, as one statement contains inside the LOOP */
quick_Sort( a, 0, n – 1 ); /* UDF calls here */

printf( "The Sorted Array is given below\n" );
for ( i = 0 ; i < n ; printf( "%d\t", a[ i ] ), i++ ); /* did as above, printf() can also be put out side FOR LOOP as usual */
getch();
}
void quick_Sort( int a[], int low, int high ) /* UDF defines here */
{
int l, h, key, temp, t;
key = a[ low ];
l = low;
h = high;
while ( low < high )
{
if ( a[ low ] < key )
{
low = low + 1;
}
else
{
if ( a[ high ] > key )
{
high = high – 1;
}
else
{
temp = a[ low ];
a[ low ] = a[ high ];
a[ high ] = temp;
}
}
}
t = key;
key = a[ high ];
a[ high ] = t;
if ( l < high )
{
quick_Sort( a, 0, high – 1 );
}
if ( low < h )
{
quick_Sort( a, high + 1, n – 1 );
}
}

Popular posts from this blog

Binary to Decimal Conversion in C, C Program for Binary to Decimal

Binary to Decimal Conversion in C or C Program for Binary to Decimal Number? #include<stdio.h> #include<conio.h> void main() {         long int b_n,d_n=0,j=1,rem;     clrscr();     printf("Enter a binary number: ");     scanf("%ld",&b_n);     while(b_n!=0)    {         rem=b_n%10;                    d_n=d_n+rem*j;         j=j*2;         b_n=b_n/10;     }     printf("Equivalent decimal Number : %ld",d_n);     getch(); } Output: Enter a Binary Number : 101 Equivalent Decimal Number : 5

Swapping of Two Numbers in C or C Program to Swap Two Numbers

Swapping of Two Numbers in C or C Program to Swap Two Numbers or C program to Swap two numbers without using a third variable #include <stdio.h> #include <conio.h>  void main() {    int x, y, temp;    clrscr();    // to clear screen       printf("Enter the value of x and y\n");    scanf("%d%d", &x, &y);    printf("Before Swapping\nx = %d\ny = %d\n",x,y);    temp = x;    x    = y;    y    = temp;    /*       without using temp variable, this can be used    let x=4 and y=5    x = x + y ;   x=x+y => x=4+5 => x=9     y = x - y ;   y=x-y => y=9-5 => y=4  value changed    x = x - y ;   x=x-y => x=9-4 => x=5  value changed      */       printf("After Swapping\nx ...

C Program to find Prime Number using UDF, also find Prime Numbers upto a limit in C Language

C Program to find Prime Number using UDF, also find Prime Numbers upto a limit in C Language: Example 1 : C Program to find prime number using user defined function :- #include<stdio.h> #include<conio.h> int primeNumber(int); /* function declaration or prototype, int arg int returns */ void main() { int num,prime; clrscr(); printf("Enter an integer Number :"); scanf("%d",&num); prime = primeNumber(num); /* function call here with Actual Parameter num, rtns integer value and assigning to the var prime */ if(prime==1) printf("%d is a prime number",num); else printf("%d is not a prime number",num); getch(); } int primeNumber(int n) /* function definition with Formal Parameter n and returns an integer */ { int i; for( i=2 ; i<=n/2 ; i++) { if(n%i==0) return 0; } return 1; } /* prime number 3,7,11,17.... */ Example 2 : C Program to find prime num...