Iterative Insertion Sort
#include<stdio.h> #include<stdlib.h>
void swap(int* var1, int* var2); void printArray(int* ptr, int size); void sort(int* ptr, int size);
int main(void){ int size, i; int* ptr; printf("Enter size of array: "); scanf("%d",&size); ptr = (int*)calloc(size, sizeof(int)); for(i = 0; i < size; i++){ printf("\nEnter element %d: ",(i+1)); scanf("%d",&ptr[i]); } printf("\nArray before sorting\n"); printArray(ptr, size); sort(ptr, size); printf("\nArray after sorting\n"); printArray(ptr, size); return 0; }
void swap(int* var1, int* var2){ int temp; temp = *var1; *var1 = *var2; *var2 = temp; }
void printArray(int* ptr, int size){ int i; for(i = 0; i < size; i++) printf("%d\t",ptr[i]); }
void sort(int* ptr, int size) { int i, key, j; for (i = 1; i < size; i++) { key = ptr[i]; j = i-1; while (j >= 0 && ptr[j] > key) { ptr[j+1] = ptr[j]; j = j-1; } ptr[j+1] = key; printf("\nPass %d \n",(i)); printArray(ptr, size); } }












