#include #include #include #include #define LEN 16 #define BUFLEN 256 /* Three fuctions to compare 2 integers: */ int isGreaterThan(int a, int b) { return (a > b); } int isLessThan(int a, int b) { return (a < b); } int isGreaterThan_Units(int a, int b) { return ( (a%10) > (b%10) ); } void swap( int * x, int * y) { int tmp = *x; *x = *y; *y = tmp; } /* argument compare is a pointer to a fuction that returns: * 1: if (*compare)(arg1,arg2) > (*compare)(arg2,arg1) * 0: if (*compare)(arg1,arg2) <= (*compare)(arg2,arg1) */ void bubble_sort(int data[], int size, int (* compare )(int, int)) { int i,j; for ( i = 1; i