Hope Everyone Is Happy

2. 벡터 (vector) 본문

※ CS 스터디/자료구조

2. 벡터 (vector)

J 크 2023. 8. 9. 20:37
728x90
반응형

본 게시글은  : 면접을 위한 CS 전공지식 노트 (출판사 : 길벗, 주홍철 지음) 을 참조하여 작성하였습니다. + 구글링


*선형 자료 구조 : 요소가 일렬로 나열되있는 자료구조

 

◆  벡터 (vector)

- 동적으로 요소를 할당할 수 있는 배열

- 중복을 허용하고 순서가 있으며 랜덤 접근이 가능

-  맨뒤나 맨앞이 아닌 요소를 삽입과 삭제에 O(1), 맨뒤나 맨앞이 아닌 경우, O(n)

- vector에서의 push_back 은 뒤에 메모리 공간이 없으면 할당하여 값을 입력, 메모리 공간이 있으나 값이 비어 있으면 값만 할당

- C++ 라이브러리에서 vector 자료형에 관한 다양한 함수 구조 지원

 ex) push_back, pop_back, erase, find() , clear()

#include <iostream>
#include <vector>

using namespace std;

int main() {

	vector<int> vecArr;
	
    // 1부터 10까지 벡터의 맨뒤에 하나씩 추가
	for(int i = 1; i < 10; i++) {
    	vecArr.push_back(i);
    }
    
    // 벡터의 첫번째 원소값 제거
    vecArr.erase(vecArr.begin(), vecArr.begin()+1);
    
    // 벡터내부에 5를 탐색
    auto a = find(v.begin(), v.end(), 100);
    
    // a가 벡터의 마지막 메모리일 경우 탐색 실패
    if(a == v.end())
    	cout << "Failed to find" << endl;
    
	
    // 벡터에 할당된 값과 메모리를 전부 제거
    vecArr.clear();
    
	return 0;
}

 


 이 책 뭔가.. 어색하다 해야 할지 이상하다 해야 할지... 자료구조 선정의 기준은 무엇일까요..?

 위의 글과 관련하여 추가적인 내용이나 피드백은 언제나 환영입니다 :)

'※ CS 스터디 > 자료구조' 카테고리의 다른 글

5. 트리 (Tree)  (0) 2023.08.15
4. 그래프 (Graph)  (0) 2023.08.15
3. 스택 (Stack) & 큐 (Queue)  (0) 2023.08.09
1. 연결 리스트 (Linked List) & 배열 (Array)  (0) 2023.08.09
0. 시간 복잡도 & 공간 복잡도  (0) 2023.08.09