|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 644 (0x284) Types: TextFile Names: »mkperm.c«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks └─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21E/musbus/mkperm.c« └─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/musbus/mkperm.c«
#include <stdio.h> #ifndef lint static char RCSid[] = "$Header: mkperm.c,v 1.2 87/06/22 14:32:26 kjmcdonell Beta $"; #endif int rand(); void srand(); main(argc, argv) int argc; char *argv[]; { int n; /* generate a permutation of {1,2,3,...,n} */ int i; unsigned t; char *mask; if (argc > 2 && strcmp(argv[1], "-s") == 0) { t = atoi(argv[2]); if (t < 16) t = 1 << t; srand(t); argv++; argv++; } n = atoi(argv[1]); mask = (char *)malloc(n); for (i=0; i<n; i++) mask[i] = '\0'; for (i=0; i<n; i++) { do { t = rand() % n; } while (mask[t]); mask[t] = '\1'; printf("%d ", t+1); } putchar('\n'); exit(0); }