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

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

Find the Greatest Time in C or CPP from two different times.

Find the Greatest Time in C or CPP from two different times. Example Code: #include<iostream.h> #include<conio.h> class time { private: int hh,mm,ss; public: void get() { cout<<"\n enter hh,mm,ss:"; cin>>hh>>mm>>ss; } void show() { cout<<"\n hour:"<<hh<<"\n minute:"<<mm<<"\n second:"<<ss; } time greatest(time x) { if (hh>x.ss) return *this; else if(hh>x.hh) return x; else if(mm>x.mm) return *this; else if(mm<x.mm) return x; else if(ss>x.ss) return *this; else return x; } }; void main() { clrscr(); time t1,t2,t3; cout<<"\n enter time1:"; t1.get(); cout<<"\n enter time2:"; t2.get(); t3=t1.greatest(t2); cout<<"\n greatest time:"; t3.show(); getch(); }

C Model Question Papers for BCA 1st year Kannur Bharathiar MG Madras Bangalore University

C Model Question Papers for BCA 1st year Kannur Bharathiar MG Madras Bangalore University : Fist Year BCA Model Question Paper for C Programming Language :- Model Question Paper B.C.A. : I Year: Programming using C: Time: 3 Hrs. Max. Marks: 100 SECTION – A 1) Answer the following Questions : 10 x 2 = 20 M a) Define Algorithm. b) Define Identifier. c) What is the Purpose of sizeof() operator. d) Compare while and do-while loops. Justify your answer. e) Define Recursion. f) How can we initialize an array. g) What is the difference between structure and union ? h) Define Pointer variable. i) Define Macro. j) What is the purpose of rewind() function. Section – B Answer the following questions. 4 x 20 = 80 M 2. a) Explain the structure of C program. b) Explain features of C language. (or) c) Describe in brief the operators in C language. d) Write a C program to evaluate the following expression. (a+(b*c)/d) 3. a) Explain control structures with examples. (or) b) Explain different parameter ...