DEQUE 1. 동적배열이며 랜덤 액세스를 지원하고 양방향에 대해서 개방형이다. 또한 맨앞과 끝에 원소를 삽입하거나 삭제하는 작업은 매우 빠르다. 2. 원소를 액세스하기 위해서 하나 이상의 간접성을 이용하기 때문에 원소의 액세스시간과 반복자의 이동 시간이 약간 더 느리다. 3. deque의 메모리 사이즈는 줄어들 수 있다. 4. 멤버함수는 vector과 동일하여 생략하고 c.push_back(elem); c.pop_back(); c.push_front(elem); c.pop_front(); 앞뒤함수제공하며 capacity()와 reserve()과 같이 용량에 관한 함수는 제공하지 않는다. 더보기 VECTOR vector - 동적인 배열이며 원소들의 순서가 있으며 랜덤 액세스를 지원한다. - 끝에 원소를 추가하거나 제거한다면 놀라운 성능이나 중간에 데이타 삽입이면 느려진다. a) vector의 성능을 더 끌어올리는 방법은 원소를 저장하기전에 필요한 메모리보다 더 큰 메모리를 확보해 놓는것이다. 재할당은 피하기 위해서는 reserve()를 사용하면 된다. ex) std::vector v; v.reserve(80); //80개의 원소를 위해 메모리를 확보한다. 아니면 std::vector v(5); //vector를 생성하고 5개의 값으로 초기화한다. b) vector는 용량이 절대로 줄어들 수 없다. 줄일수 있는 간접적인 방법으로 다른 vector와 원소들은 보호하면서 교체할 수 있다. c) 기존의 값을 없애면.. 더보기 STL 컨테이너의 공통적인 특징 1. STL 컨테이너의 공통적인 특징 a) 모든 컨테이너는 레퍼런스 의미론보다는 값 의미론을 제공한다. b) 일반적으로 모든 원소들은 순서를 가지고 있다. c) 대부분의 경우, STL 자체는 예외를 발생시키지 않는다. ex) 1) 다른 컨테이너 원소로 초기화한다. std::list l; .... std::vector c(l.begin(),l.end()); 2) 배열의 원소로 초기화한다. int array[] = {2,3,17,33,45,77}; .... atd::set c(array,array+sizeof(array)/sizeof(array[0])); 3) 표준 입력을 통하여 초기화한다. std::deque c((std::istream_iterator(std::cin)), (std::istream_ite.. 더보기 이전 1 ··· 262 263 264 265 266 267 268 ··· 274 다음