Algorithm of Insertion sort and a program of insertion sort in C

Insertion sort:

It is simple to sort a set of integer number or character set using insertion algorithm. Let you have unsorted array A[] of 10 elements.
A[]={23, 17, 12, 25, 33, 14, 17, 26, 21, 19}
I am showing you first six elements sorting in below.
  • 23, 17, 12, 25, 33, 14, 17, 26, 21, 19  [initially]
  • 17, 23,12, 25, 33, 14, 17, 26, 21, 19  [key= A[1] or 17 according to previous line that was sorted in this line]
  • 12, 17, 23, 25, 33, 14, 17, 26, 21, 19   [key= A[2] or 12 according to previous line]
  • 12, 17, 23, 2533, 14, 17, 26, 21, 19   [key= A[3] or 25 according to previous line, but here after first comparison of 12 with previous element we see no need to sort ]
  • 12, 17, 23, 25, 33, 14, 17, 26, 21, 19   [key=A[4] or 33 according to previous line, but here after first comparison of  with previous element we see no need to sort ]
  • 12, 14, 17, 23, 25, 33, 17, 26, 21, 19 and that’s way all elements are sorted.
You have seen that every time key is placed in proper location in the array. We have seen that before all elements of a key have already been sorted

A program for function: Search, Insert, Show, Push, Pop || Array and Stack using Function call

Use this program to run certain function with array and stack. Function: search, insert, show, push and pop. Use a menu to make choice for run operation. I give you a code based on my algorithm. Try to find another algorithm and then make code. Before start learn about Array and Stack and difference between them.


#include<stdio.h>
#include<stdlib.h>
#define max 20
int ARRAY();
int STACK();
int SEARCH(int LA[max], int N);
int INSERT(int LA[max], int N);
int SHOW(int LA[max], int N);
int PUSH(int stk[max], int TOP);
int POP(int stk[max], int TOP);

int main()
    {
        char ch;
        for(;;)
         {
            printf("\nMake a choice of your operation:")  ;
            printf("\nA: for ARRAY operation");
            printf("\nS: for STACK operation");
            printf("\nX: for EXIT\n");

Program of Searching and inserting a item in a linear array - using function

#include<stdio.h>
#include<stdlib.h>
int SEARCH(int LA[100], int N);
int INSERT(int LA[100], int N);
int SHOW(int LA[100], int N);

int main()
    {
        int LA[100],i, N;
        char ch;
        printf("\nEnter how many array element: ");
        scanf("%d", &N);
        printf("\nEnter array elements:\n");
        for(i=0;i<N;i++)
          {
              printf("\nElement no %d: ", i+1);
              scanf("%d", &LA[i]);
          }
        menu:
        {

        printf("\nSelect your operation:\n") ;
        printf("\n1: SEARCH an item");
        printf("\n2: INSERT an element ");
        printf("\n0: Exit\n ")

Code: Towers of hanoi - write a program to solve Towers of Hanoi -

#include<stdio.h>
int TOWER(int n, char beg, char aux, char end);

int TOWER(int n, char beg, char aux, char end)
         {
           if (n==1)
               printf("\nmove disk %d from %c to %c", n, beg, end);
           else
                {
                    TOWER(n-1,beg,end,aux);
                    printf("\nmove disk %d from %c to %c", n, beg, end);
                    TOWER(n-1,aux, beg, end);
                    return 0;
                }
         }
int main()
        {
            int n;
            printf("TOWER OF HANOI:\n");
            printf("\nHow many disk: ");
            scanf("%d", &n);
            if(n<1)
                {
                    printf("INVALID DISK MOVEMENT");
                    return 0;
                }
             TOWER(n,'A', 'B', 'C');
             return 0;
        }

Write a C program to display a triangle of digits as follows. Number of rows is entered by keyboard....



          1

               2  2

             3  3  3

           4  4  4  4

         5  5  5  5  5

             6  6  6  6  6  6


#include<stdio.h>
 int main()
   {
     int  i, j, sp, n;
     printf( "How many line: " );