Эффективность map::insert(iterator position, const value& k)
можно значительно улучшить, предоставив соответствующее значение в параметре position.
Если я использую целые числа в качестве ключа, и каждая вставка выполняется с числом, большим, чем все ранее вставленные ключи, могу ли я ускорить операцию ::insert
при задании :: end()
итератор карты?
Что-то вроде:
myMap.insert( myMap.end() , make_pair( next_number , myValue ) );
где myMap
имеет тип map
и next_number
— большое целое число с каждым увеличением.
Редактировать:
Ответ на этот вопрос может отличаться в зависимости от того, являются ли данные, хранящиеся в карте , плотными или нет (см. обсуждение ниже). Итак, давайте зададим вопрос двумя способами: когда он плотный, когда он нет. Все еще любопытно. Возможно, на него ответит измерение.