Возврат пустого итератора в код хеш-таблицы C ++

Я следую некоторым рукописным заметкам о реализации хеш-таблицы с отдельным сцеплением. В частности, я смотрю на эту функцию:

list<ListCell>::iterator TablaHash::FoundOnList(int key, int table_row){
for(list<ListCell>::iterator found= table[table_row].begin();
found != table[table_row].end();found++){
if((*found).Key() == key){
return found;
}
}
return Ø;
}

где последний символ — пустой набор. Я понимаю, что должен вернуть «пустой» итератор, но что мне делать? Может, вернуть итератор end ()?

1

Решение

Да, возвращаю end() итератор — самая естественная вещь в C ++.

Например, std::find возвращает end итератор, если он не может найти искомый элемент.

1

Другие решения

В с ++ нет пустой концепции итератора. Вы должны вернуть end () итератор. Даже стандартные алгоритмы STL делают то же самое.

0

По вопросам рекламы [email protected]