배열과 리스트, 벡터의 특징에 대해서 알아보자.
C++에서 사용되는 자료구조인 배열, 리스트, 벡터의 특징에 대해서 알아 보겠습니다.
배열은 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조입니다.
값과 포인터를 묶은 노드
를 포인터로 연결한 자료구조입니다.
벡터는 C++의 STL(Standard Template Library)의 자료구조 컨테이너 중 하나로, 쉽게 사용할 수 있도록 정의된 클래스입니다.
기존 배열과 같은 특징을 가지나, 단점을 보완한 동적 배열의 형태입니다.
// 선언
#include <vector>
vector<int> V; // vector<자료형> 변수명;
// 삽입 연산
V.push_back(1); // 마지막에 1 추가
V.insert(V.begin(), 1); // 맨 앞에 1 삽입
V.insert(A.begin() + 2, 1); // index 2 위치에 1 삽입
// 값 변경
V[2] = 5; // index 2의 값을 5로 변경
// 삭제 연산
V.pop_back(); // 마지막 값 삭제
V.erase(V.begin() + 2); // index 2 위치값 삭제
V.clear(); // 모든 값 삭제
// 정보 가져오기
V.size(); // 데이터 개수
V.front(); // 처음 값
V.back(); // 마지막 값
V[2]; // index 2번 값
V.at(2); // index 2번 값
V.begin(); // 첫 번째 데이터 위치
v.end(); // 마지막 데이터 다음 위치
각 자료구조 별 특징을 알아두고 상황에 적절한 것을 사용하자