ANSI C:如何用换行符拆分字符串,并得到一个随机行
题
我是一个新的C,结果被套牢SUBJ。我可以strtok
分割字符串,但我不知道如何获得一个随机令牌。
感谢。
解决方案
其他提示
在下面的伪代码示出了如何将返回字符串的令牌中均匀地选择的候选:
string result = null; int tokens = 0; while (true) { string candidate = next token; if (candidate does not exist) break; tokens = tokens + 1; if ((a random integer selected between 0 and tokens-1) == 0) result = token; } return result;
这是一个特殊情况的算法有r 从Knuth的的计算机程序设计艺术的第二卷第3.4.2节
不隶属于 StackOverflow