Почему случайное удаление из std :: vector происходит быстрее, чем из std :: list? То, что я делаю, чтобы ускорить его, - это заменить случайный элемент последним, а затем удалить последний.
Я бы подумал, что список будет быстрее, поскольку он был создан для случайного удаления.
for(int i = 500; i < 600; i++){
swap(vector1[i], vector1[vector1.size()-1]);
vector1.pop_back();
}
for(int i = 0; i < 100; i++){
list1.pop_front();
}
Результаты (в секундах):
Vec swap delete: 0.00000909461232367903
Нормальное удаление списка: 0.00011785102105932310