/* * Author: David P. Reese, Jr. * Date: A rainy day in 2000 */ #include #include void print_list(const char *list, int length) { int n; for (n = 0; n < length; ++n) putchar(list[n]); putchar('\n'); } void bogosort(char *list, int length, long *iter) { int i; int j; char c; *iter = 0; srandom(time(NULL)); while (is_sorted(list, length) == 0) { ++(*iter); for (i = 0; i < length; ++i) { j = random() % length; c = list[i]; list[i] = list[j]; list[j] = c; } } } int is_sorted(const char *list, int length) { int n; for (n = 1; n < length; ++n) if (list[n - 1] > list[n]) return 0; return 1; }