벡터(vector)는 자료구조 컨테이너 중 하나로, 기존의 배열과 같은 특징을 가지면서 배열을 보완한 동적 배열의 형태이다.
벡터 예제
#include <vector>
// 벡터 선언
vector<int> A;
// 벡터 삽입
A.push_back(1);
A.insert(A.begin(), 7); // 맨 앞에 7을 삽입
A.insert(A.begin()+2, 10); // index 2 위치에 10을 삽입
// 값 변경
A[4] = -5; // index 4 위치에 -5를 삽입. 인덱스를 사용하여 데이터에 접근이 가능하다
// 삭제 연산
A.pop_back(); // 마지막 값 삭제
A.erase(A.begin(), 3); // index 3에 해당하는 값 삭제
A.erase(remove(A.begin(), A.end(), 특정 값), A.end()); // remove와 함께 사용하여 특정 값을 찾아 삭제할 수 있음
A.clear(); // 모든 값 삭제
// 정보 가져오기
A.size(); // 데이터 수
A.front(); // 처음 값
A.back(); // 마지막 값
A[4]; // index 4에 해당하는 값
A.at(5) // index 5에 해당하는 값
A.begin() // 첫 번째 데이터의 위치
A.end() // 마지막 데이터의 위치
벡터 활용
find() 함수를 사용하여 vector 내 원소를 찾을 수 있다.
#include <algorithm> // find는 algorithm 헤더 필요
// vector내에 해당 원소가 존재하는 지 확인
find(v.begin(), v.end(), 찾을 값);
// 이때 리턴 값이 v.end()이면 원소가 없는 것이다.
// vector내에서 해당 원소가 위치하는 인덱스 찾기
find(v.begin(), v.end(), 찾을 값) - v.end();
// find_if를 사용하여 특정 조건에 일치하는 원소를 탐색
// while(조건)과 함께 사용하여 범위 내 홀수/짝수를 빠르게 찾을 수 있음
// isOdd는 홀수면 true, 짝수면 false 반환
find_if(v.begin(), v.end(), isOdd);
'C++ > 함수 정리' 카테고리의 다른 글
정렬(sort) (0) | 2023.09.13 |
---|---|
난수 생성 방법 (0) | 2023.09.13 |
변수나 배열의 값을 교환, 복사, 채우기: swap(), copy(), fill() (0) | 2023.09.13 |
배열의 합과 곱을 계산: accumulate(), multiplies() (0) | 2023.09.13 |
연관 컨테이너: set, multiset, map, multimap (0) | 2023.09.13 |