Skip to main content

Insertion Sort in C Program with Algorithm and Function Code Reducing Techniques

Insertion Sort in C Program with Algorithm and Function Code Reducing Techniques :

Example for Insertion Sorting in C Language Program with Explanations is given below :-
Every repetition of insertion sort removes an element from the input data, inserting it into the correct position in the already-sorted list, until no input elements remain. The choice of which element to remove from the input is arbitrary, and can be made using almost any choice algorithm.
Sorting is typically done in-place. The resulting array after k iterations has the property where the first k + 1 entries are sorted. In each iteration the first remaining entry of the input is removed, inserted into the result at the correct position, thus extending the result:

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

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

void main()
{
int arr[100] , a , n ;
clrscr();
printf("Enter the number of array elements to be Sorted :");
scanf( "%d" , &n );

printf("\nEnter the array elements :\n");
for( a = 0 ; a < n ; scanf("\n %d",&arr[a]) , a++ ); /* see help below */
insertion_Sort(n,arr); /* function calls here. n means array length and arr means array name its enough while passing array */

printf("\nSorted array is given below :");

for( a = 0 ; a < n ; printf(" \n%d " , arr[a] ) , a++ ) ;

/* use ; to end loop, as it contains one statement inside. if we use printf() out side for() loop as usual, then do not use ; at the end of for() loop */

getch();
}

// main() ends here

void insertion_Sort(int n, int arr[]) /* UDF defines here */
{
int i , temp , j ;
for( i = 1 ; i < n ; i++ )
{
temp = arr[i];
j = i - 1 ;
while( j >= 0 )
{
if( temp <= arr[j] )
{
arr[j+1] = arr[j] ;
arr[j] = temp ;
}
j = j - 1 ;
}

}
}

/* below function is same as above, but the program code has been reduced. if you understand, you can use it instead of above function code :

void insertion_Sort(int n, int arr[])
{
int i , temp , j ;
for( i = 1 ; i < n ; i++ )
for( j = i - 1 , temp = arr[i] ; j >= 0 ; j-- )
if( temp <= arr[j] )
{
arr[j+1] = arr[j] ;
arr[j] = temp ;
}

}
*/

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...