これが私の実装ですが、テキストファイルを分析するときは少し遅いです.誰かがランダム書き込みを実装するためのより良いアイデアまたはより良いデータ構造を持っていますか? 私は STL ライブラリを使用していないので、構文について心配する必要はありません。push_back を使用する代わりに、ベクトルは .add を使用しています。
randomInteger は、範囲間のランダムな整数を生成します
出来れば2000キャラ制作したいです。
ファイルを 1 文字ずつ読み取るのが最も遅い部分だと思います。
void generateText(int order, string initSeed, string filename){
Map<string , Vector<char> > model;
char ch;
string key;
ifstream input(filename.c_str());
for(int i = 0; i < order; i++){
input.get(ch);
key+=ch;
}
while(input.get(ch)){
model[key].add(ch);
key = key.substr(1,key.length()-1) + ch;
}
string result;
string seed = initSeed;
for(int i = 0;i<2000;i++){
if (model[seed].size() >0) {
ch = model[seed][randomInteger(0, model[seed].size()-1)];
cout << ch;
seed = seed.substr(1,seed.length()-1) + ch;
}
else
return;
}
}