어떻게 std :: vector에서 임의로 삭제하면 std :: list보다 빠릅니까? 내가 속도를 높이려면 무작위 요소를 마지막 요소와 교환 한 다음 마지막 요소를 삭제하는 것입니다. 랜덤 삭제가 생성 된 이후 목록이 더 빠르다고 생각했을 것입니다. (초)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 스왑 삭제 : 삭제 정상 0.00000909461232367903
목록 : 0.00011785102105932310
참으로. 나는 임의적 인 것을 보지 못했다. –
그렇다면 단일 스왑을 사용하면 벡터가 더 빨라지고 임의 액세스가 가능할 때 std :: list의 목적은 무엇입니까? –
벡터를 순서대로 유지하고자하는 경우에 따라 달라집니다. –