Write a C program that sorts the given array of integers using insertion sort in ascending order.
// C program for insertion sort
#include <math.h>
#include <stdio.h>
/* Function to sort an array using insertion sort*/
void insertionSort(int arr[], int n)
{
int i, key, j;
for (i = 1; i < n; i++)
{
key = arr[i];
j = i - 1;
while (j >= 0 && arr[j] > key)
{
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
printf("\n sorted array using insertion sort \n");
}
// A utility function to print a sorted array of size n
void printArray(int arr[], int n)
{
int i;
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
}
// Driver code
int main()
{
int arr[15],n,i;
printf("enter number of elements in array \n");
scanf("%d", &n);
printf("enter array values to sort\n");
for(i=0; i<n; i++)
scanf("%d", &arr[i]);
insertionSort(arr, n);
printArray(arr, n);
return 0;
}
#include <math.h>
#include <stdio.h>
/* Function to sort an array using insertion sort*/
void insertionSort(int arr[], int n)
{
int i, key, j;
for (i = 1; i < n; i++)
{
key = arr[i];
j = i - 1;
while (j >= 0 && arr[j] > key)
{
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
printf("\n sorted array using insertion sort \n");
}
// A utility function to print a sorted array of size n
void printArray(int arr[], int n)
{
int i;
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
}
// Driver code
int main()
{
int arr[15],n,i;
printf("enter number of elements in array \n");
scanf("%d", &n);
printf("enter array values to sort\n");
for(i=0; i<n; i++)
scanf("%d", &arr[i]);
insertionSort(arr, n);
printArray(arr, n);
return 0;
}
OUTPUT:
enter number of elements in array
8
enter array values to sort
43
23
56
76
35
59
31
42
sorted array using insertion sort
23 31 35 42 43 56 59 76
Comments
Post a Comment