/*
 * Author: David P. Reese, Jr. <daver@gomerbud.com>
 * Date: A rainy day in 2000
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void print_list(const char* ,int);
void bogosort(char*, int, long*);

int
main(int argc, char** argv)
{
   char *list;
   int list_length;
   long iter;

   if (argc != 2) {
      printf("%s wants only one argument, a list of characters\n", argv[0]);
      exit(1);
   }

   list_length = strlen(argv[1]);
   list = (char *) malloc(sizeof(char[list_length]));
   strcpy(list, argv[1]);

   printf("Size of list: %i\n", list_length);

   printf(" Before sort: ");
   print_list(list, list_length);

   bogosort(list, list_length, &iter);
   
   printf("  After sort: ");
   print_list(list, list_length);

   printf("Number of iterations: %li\n", iter);

   free(list);

   return 0;
}

