#include #define NUM_ITEMS 10 void insertionSort(int numbers[], int array_size); void swap(int *p_from, int *p_to); int numbers[NUM_ITEMS]; int main() { int i; int numbers[NUM_ITEMS] = {10,9,8,7,6,5,4,3,2,1}; printf("Start: "); for (i = 0; i < NUM_ITEMS; i++) { printf("%d ", numbers[i]); } printf("\n"); //perform insertion sort on array insertionSort(numbers, NUM_ITEMS); printf("Done with sort.\n"); for (i = 0; i < NUM_ITEMS; i++) { printf("%d ", numbers[i]); } printf("\n"); return 0; } void insertionSort(int numbers[], int array_size) { int i, j; for (i=1; i < array_size; i++) { j = i; while ((j > 0) && (numbers[j-1] > numbers[j])) { swap(&numbers[j-1], &numbers[j]); j--; } } } void swap(int *p_from, int *p_to) { int tmp; tmp = *p_from; *p_from = *p_to; *p_to = tmp; }