Anonymous user
Best shuffle: Difference between revisions
Removed division by zero bug from C version
(Removed stack overflow from C version) |
(Removed division by zero bug from C version) |
||
Line 128:
void best_shuffle(const unsigned char* txt, unsigned char* result) {
const int len = (int)strlen((char*)txt);
if (len == 0)
return;
#ifdef DEBUG
Line 144 ⟶ 146:
fmax = fnew;
}
assert(fmax > 0 && fmax <= len);
// how long can our cyclic groups be?
Line 207 ⟶ 210:
int main() {
char* data[] = {"abracadabra", "seesaw", "elk", "grrrrrr",
"up", "a", "aabbbbaa", "", "xxxxx"};
const int data_len = sizeof(data) / sizeof(data[0]);
for (int i = 0; i < data_len; i++) {
const unsigned int shuf_len =
unsigned char shuf[shuf_len];
Line 231 ⟶ 234:
up, pu, (0)
a, a, (1)
aabbbbaa, bbaaaabb, (0)
, , (0)
xxxxx, xxxxx, (5)</pre>
=={{header|Clojure}}==
|