#include #include #include #define boolean int #define FALSE 0 #define TRUE 1 extern void initializeList (); extern void clearList (); extern void insertAtEnd (int); extern int findPositionAndMove (int, int); extern long discrete_uniform (long, long); extern int reverseZipf (int); void addElements (int n) { int i; for (i=1; i<=n; i++) insertAtEnd (i); } void test (char *testName, int numTrials, int listSize, int moveDistance, boolean isUniform) { double totalDist, avgDist; int n, data, position; /* First, make the list. */ initializeList (); addElements (listSize); /* Now, repeat over a number of trials and estimate average. */ totalDist = 0; for (n=0; n