일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- BFS
- 컴퓨팅사고
- 영상처리
- bfs문제
- 알고리즘
- 포스코 교육
- 포스코 AI교육
- tinyml
- 삼성역테
- 코테
- 딥러닝
- sort
- MCU 딥러닝
- DP문제
- 자료구조
- 코딩테스트
- 다이나믹프로그래밍
- dfs문제
- DP
- 삼성코테
- 초소형머신러닝
- 그리디
- 삼성역량테스트
- 코테 문제
- 임베디드 딥러닝
- 포스코 ai 교육
- TensorFlow Lite
- tflite
- 삼성코딩테스트
- dfs
- Today
- Total
코딩뚠뚠
[개념정리] vector container 본문
vector 란
C++ STL vector는 list계열의 container 종류이다.
자료구조의 스택과 구조가 비슷하다.
vector를 생성하면 메모리 heap에 생성되며 동적할당 된다.
vector 사용
선언 및 초기화
vector<자료형> 변수명
vector<자료형> 변수명(숫자) // 숫자만큼 벡터생성 후 0으로 초기화
vector<자료형> 변수명 = {변수1, 변수2..} //벡터생성 후 오른쪽 변수값으로 초기화
vector<자료형> q[] = {{변수1, 변수2}, {변수3, 변수4}) //2차원벡터 선언 및 초기화
vector<vector<자료형>>변수명 //2차원 벡터 생성
Iterators
우선 vector<int>v; 로 선언한다.
v.begin() //벡터 시작점의 주소값 반환
v.end() //벡터 끝부분+1 주소값 반환
v.[i] //벡터의 i 번째 요소 접근
v.front() //벡터의 첫번째 요소에 접근
v.back() //벡터의 마지막 요소 접근
v.push_back() //벡터의 마지막 부분에 새로운 요소를 추가
v.pop_back() //벡터의 마지막 부분을 제거
v.insert(삽입위치 주소값, 변수값) //원하는 위치에 삽입
v.erase(삭제위치) or v.erase(시작위치,끝위치) // 중간 인자를 빼낸다. 나머지는 앞당겨진다. 기본적으로 stack 구조여서 pop_back 쓰지만 erase 도 쓰인다.
v.clear() //벡터의 모든 요소를 지운다.
v.size() //벡터의 크기 - 현재 할당된 크기
v.capacity() //벡터의 크기 - 벡터의 최대 할당 크기
v.empty() //벡터가 빈공간이면 true, 값 있다면 false
vector 를 sort할 때 compare를 활용하는 방법은 아래에 포스팅해 두었다.
[개념정리] STL라이브러리 - sort()2
풀이 일시 : 2020-08-02 개념 : sort()의 활용방안 part2 활용1 : 클래스 대신 Pair 라이브러리 사용하기 #include #include #include using namespace std; int main() { vector >v; //vector pair 선언 v...
dbstndi6316.tistory.com
주의점
v.insert 나 v.erase 사용할때 한칸한칸 일일이 이동시켜 비효율적이고 v.capacity 의 값을 넘어선다면 reallocate도 일어나므로 메모리 오버헤드 및 성능저하를 야기할 수 있다. 따라서 삽입 삭제가 빈번하다면 list나 deque권장
pair / struct / tuple 과 같이 사용하는 방법은 아래의 링크에 같이 설명해놓았다.
[개념정리] deque container
deque container란 deque는 vector container의 단점을 보완하기 위해서 만들어진 container이다. vector와 마찬가지로 list구조. vector는 새로운 원소가 추가될 때 메모리 재할당 후 이전원소를 복사하는 방식으.
dbstndi6316.tistory.com
'알고리즘 문제풀이 > 개념정리' 카테고리의 다른 글
[개념정리] queue (0) | 2020.12.26 |
---|---|
[개념정리] stack (0) | 2020.12.26 |
[개념정리] tuple (0) | 2020.12.26 |
[개념정리] Pair (0) | 2020.12.26 |
[개념정리] STL라이브러리 - sort()2 (0) | 2020.12.26 |