insertion-sort.c |
| #include <stdio.h> #include <stdlib.h> #include <time.h> #define ARRAY_MAX 10000 void insertion_sort(int *a, int n){ int guide=0; int i; int value; int j; for (i=0; i<n; i++){ value = a[i]; if(a[i]<guide){ for(j=i-1; j >=0 && a[j] > value; j--){ a[j+1]=a[j]; } a[j+1]=value; } if (value>guide) guide=value; printf("Value: %d\n",value); printf("Guide: %d\n",guide); } } int main(void){ int my_array[ARRAY_MAX]; int counter = 0; int i; clock_t c,d; while(1==scanf("%d", &my_array[counter]) && counter<ARRAY_MAX){ counter++; } c=clock(); insertion_sort(my_array, counter); d=clock(); for(i=0;i<counter; i++) printf("%d\n", my_array[i]); fprintf(stderr,"%d\t%f\n",counter,(d-c)/(double)CLOCKS_PER_SEC); return EXIT_SUCCESS; } |
James Little |