vector O(1)로 삭제 썸네일형 리스트형 [C++] 정렬되지 않은 벡터(vector) O(1)시간으로 요소 삭제하기 0. 벡터의 소개 벡터는 배열 형태의 저장소가 필요할 때 다양한 크기로 변할 수 있다. 힙(heap)메모리를 이용해서 객체를 저장한다. 벡터의 한계에 다다르면 새로 배당된 메모리 영역으로 옮긴 뒤 기존 메모리 영역은 삭제한다. 요소를 추가하거나, 삭제하면 그에 맞춰 기존 요소를 앞뒤로 이동시킨다. 벡터의 한가운데에서의 요소 제거는 O(n)의 시간이 걸린다. (삭제 후 생긴 공백을 요소를 옮기면서 채운다.) 1. 정렬되지 않은 벡터 O(1) 시간으로 삭제하기 원리는 간단하다. 삭제하고 싶은 부분의 인덱스를 가져온다. 벡터의 끝에 있는 값을 삭제할려는 인덱스에 덮어 씌운다. 벡터의 끝 값은 삭제한다. ex) 예제 100, 200, 300를 가지는 벡터가 있다고 가정해보자. 여기서 인덱스 1번을 지우고 싶다... 더보기 이전 1 다음