#include <stdio.h>
#include <stdlib.h>
#include "List.h"

int times2(int N) { return 2*N; } /* just any old fn() */


main()
 { List L;  int i;

   printf("List Demo, L.Allison, Computer Science\n");
   L = map(times2, range(1,10));
   printf("map(x2, [1..10]) = "); WriteList(L);
      printf(" len=%d=%d\n", length(L), lengthItr(L));
   printf("appended to self = "); WriteList(append(L,L)); printf("\n");
   freeList(L);

   printf("primes(80) = "); WriteList(primes(80)); printf("\n");

   L=NULL;
   for(i = 0; i < 20; i++)
      L=cons(rand()%100, L);
   printf("random #s:"); WriteList(L); printf("\n"); L=mergeSort(L);
   printf("sorted #s:"); WriteList(L); printf("\n");
   printf("reversedS:"); WriteList(reverseSlow(L)); printf("\n");
   printf("reversedF:"); WriteList(reverse(L)); printf("\n");
   reverseSE( &L );
   printf("again    :"); WriteList(L); printf("\n");
 }

/* List Driver Test Program */

