Я пытаюсь написать функцию C++, которая соответствует тому, присутствует ли строка в словаре. Это может быть частичная строка или полная строка. Я прочитал каждую строку в trieНужна помощь в структурах данных C++ Trie
trie< std::string, int > dict;
dict.insert(make_pair(line,i++));
// when i search for a string it always returns invalid.
if(dict.find("AA")!=dict.end())
cout<<valid<<endl;
else
cout<<invalid<<endl;
Может кто-нибудь, пожалуйста, помогите мне с этим. Я добавил код для чтения слов в словаре.
if(myfile.is_open())
{
int i=0;
string line;
cout<<dict.size()<<endl;
while(!myfile.eof())
{
getline(myfile,line);
dict.insert(make_pair(line,i++));
}
}
этот вопрос невозможно ответить разумно, не зная необходимых деклараций и переменных – Anycorn
@aaa Я использовал getline для чтения строки, и я проверил размер dict и нашел, что это 179000. После использования dict.find я проверяю, что это возвращает с помощью it = dict.find («AA»); значение (* it). секунд возвращается как 23880300 – brett
Домашнее задание? Во всяком случае, вопрос неопровержимый - вы должны четко заявить, что хотите. Мне кажется, вы уже сделали то, что хотите. – jpalecek