Skip to content

luc058.c

Problem Statement

Implement the Insertion Sort algorithm shown in Figure 13.3 on a set of 25 numbers.

Metadata

Property Detail
Author Amit Dutta amitdutta4255@gmail.com
Date 08 Feb 2026
License MIT License (See the LICENSE file for details)

Actions

Raw View on GitHub

💡 You can print or save this file by opening Raw and using your browser.

Source Code

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void insertion_sort(int *, int);

int main()
{
    int arr[25], i;

    printf("Enter 25 integers for Insertion Sort:\n");
    for (i = 0; i < 25; i++)
    {
        scanf("%d", &arr[i]);
    }

    insertion_sort(arr, 25);

    printf("\nSorted Array:\n");
    for (i = 0; i < 25; i++)
    {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

void insertion_sort(int *arr, int n)
{
    int i, j, key;
    for (i = 1; i < n; i++)
    {
        key = arr[i];
        j = i - 1;

        /* Move elements of arr[0..i-1], that are greater than key,
           to one position ahead of their current position */
        while (j >= 0 && arr[j] > key)
        {
            arr[j + 1] = arr[j];
            j = j - 1;
        }
        arr[j + 1] = key;
    }
}