: 동적으로 요소를 할당할 수 있는 동적 배열이다. 동적 할당의 핵심은 컴파일 시점에 원소의 개수를 '모른다는 것'이다. 즉 코드를 작성하는 시점에 원소의 개수를 알지 못하는 상태이다.
#include <vector>
#include <algorithm>
vector<int> numbers;
int main(){
// 뒤에서부터 원소 삽입
numbers.push_back(4);
numbers.push_back(5);
numbers.push_back(6);
// 뒤에서 원소 삭제
numbers.pop_back();
// 벡터의 사이즈 (원소의 개수)
int size = numbers.size();
// numbers의 두 번째 요소 삭제
numbers.erase(numbers.begin()+1);
// numbers 요소 정렬(default : 오름차순)
sort(numbers.begin(),numbers.end());
// number의 특정 원소의 위치(index) 찾기
auto it = find(numbers.begin(),numbers.end(),3);
if(it!=numbers.end()){
int index = distance(numbers.begin(),it);
}
}
① 장점
② 단점
#include <iostream>
#include <stack>
using namespace std;
int main(){
stack<int> myStack;
// 원소 삽입
myStack.push(10);
// 원소 삭제(위에서부터)
while(!myStack.empty())
myStack.pop();
return 0;
}
① 장점
② 단점
#include <iostream>
#include <queue>
int main(){
queue<int> myQueue;
// 원소 삽입
myQueue.push(10);
myQueue.push(10);
myQueue.push(10);
// 앞에서부터 원소 삭제
while(!myQueue.empty
myQueue.pop();
return 0;
}