我正在制作一个应用程序,其中包含我选择的非常大的单词词典(这样单词不会太复杂),我希望它随机选择单词。我对随机选择单词没有问题,但是存储所有这些单词的最佳方法是什么,以及如何存储?我觉得使用 NSMutable 数组会占用太多内存来创建数千个对象,所以我还能使用什么...谢谢你的帮助
问问题
121 次
2 回答
1
于 2012-04-20T02:53:48.320 回答
0
如果所有应用程序需要做的只是随机访问单词(因此没有基于键的查询或更新),那么核心数据和 SQLite 的替代方案将只是fseek()
到换行符分隔单词的平面文本文件中的随机位置,然后读出下一个完整的单词,可能用fscanf(dict,"%s\n%s\n",partial_word,full_word)
.
通过使用不同的随机数重试来处理 EOF,或者将fseek()
范围限制为从不命中文件中的最后一个单词。
上述大纲的一个问题是单词不会被统一选择。对长词后的词有偏见。strlen(partial_word)
如果担心的话,在保留单词之前丢弃(或更大的随机数)单词可能有助于分布。
于 2012-04-20T04:57:59.240 回答