728x90
반응형
vector<int>v 가 있다고 할때 i번째 원소를 지우는 방법은 v.erase(v.begin()+i); 이다.
한가지 궁금한것은 이 함수가 호출되어서 벡터를 지우는 과정은 어떻게 되고 시간복잡도는 어떨까?
삭제되면 뒤에 원소들을 앞으로 당겨야하는건 당연한데 코드상으로 보면 한번에 실행이 되니까 O(1)로 가능한건가! 했는데 당연하게도 그건 아닌가보다. 시간 복잡도는 결국 O(N)이 된다.
https://cplusplus.com/reference/vector/vector/erase/
728x90
반응형
'programming language > c++' 카테고리의 다른 글
[C++] map 삽입,삭제,요소 찾기(find) (0) | 2022.11.26 |
---|---|
[C++] set 삽입,삭제,순회하기 (0) | 2022.11.26 |
[C++] 공백, 특정 문자(:/,-..) 기준 문자열 자르기 (0) | 2022.11.26 |