Я пытаюсь найти более быстрый способ добавить пары к концу карты. В настоящее время я добавляю пары в конце карты, и, поскольку ключ, который я использую, является индексом цикла For, который сортируется по умолчанию. Итак, у меня есть: < /p>
#include
#include
#include
#include
#include
int main()
{
std::map temp;
for(int i = 0; i < 1000000; i++){
int first[] = {5,10,15,20,25};
int second[] = {10,20,30,40,50};
std::set temp2;
temp2.insert(first, first + 5);
std::set temp3;
temp3.insert(second, second + 5);
std::set temp4;
std::set_union(temp2.begin(), temp2.end(), temp3.begin(), temp3.end(), std::inserter(temp4, temp4.end()));
temp.insert(temp.end(), std::pair(i, temp4));
}
}
< /code>
Когда это время, это занимает около 10 секунд. Однако, когда я комментирую линию temp.insert (temp.end (), std :: pare (i, temp4))
, программа занимает около 4 секунд для выполнения. Мне интересно, почему добавление пары к карте занимает столько времени. Я делаю это наилучшим образом?
Я пытаюсь найти более быстрый способ добавить пары к концу карты. В настоящее время я добавляю пары в конце карты, и, поскольку ключ, который я использую, является индексом цикла For, который сортируется по умолчанию. Итак, у меня есть: < /p>
Когда это время, это занимает около 10 секунд. Однако, когда я комментирую линию temp.insert (temp.end (), std :: pare (i, temp4)) [/code], программа занимает около 4 секунд для выполнения. Мне интересно, почему добавление пары к карте занимает столько времени. Я делаю это наилучшим образом?