C ++ 표준 라이브러리 분석 요약 (오) - <디자인 원칙 Deque와>

이 부분은 설계 및 방법의 특성 및 내부 표준 라이브러리 Deque와 연관된 기능을 요약 반복자

1 Deque와 기본 구조

  • 그것은 각각의 세그먼트 사이에서 서로 분할 스티치 (연속적인 세그먼트)을 사용하여 실제로 또한 연속 공간으로 알려져 양단 (양단)는, 벡터 관리 벡터의 각 요소에 대한 포인터, 서브 각 포인터 점이다 세그먼트 각 세그먼트 버퍼는 버퍼 일 때 상기 제 1 엘리먼트 배치 버퍼를 확장 할 필요성이 가득 차면, 벡터 문자열 다음 내부 버퍼 재배치;
  • 양단 반복자가 제어 중심 위치 (벡터, 즉 위치)에서의 노드를 나타내는 네 개의 포인터를 가지며, 제 1 노드가 제 1 버퍼의 의미를 나타내고, 버퍼 최종 테일 노드는 첫 번째와 마지막에 언급 나타내고 모델의 경계, 그들은 변경되지 않습니다이다 CUR는 반복자의 요소가 현재 가리키는 나타냅니다;
  • 구현 구분 연속, 후자의 반대는, 현재의 버퍼로 결정되어 앞으로 반복자는 우리가 노드 포인터에 의존해야하는 경우, 다음 버퍼 버퍼에 건너 뛸 수있는 능력이 있어야 끝이나 머리까지 경계에 도달하지 않습니다 다시 통제 센터 (벡터)와로 후 다음 버퍼로 이동

2, Deque와 반복자

반복자 양단은 양단 두 반복기하는 말하자면 size_type에 대한 포인터를 포함하는 16 SIZEOF 그래서 16 + 16 + 4 + 4 = 40 바이트의 양단를 sizeof

2.1 Deque와 삽입 동작 양단 <T> :: 인서트 ()

  양단 큐 양단에 전개 될 수 있기 때문에, 상기 이동 요소가 판정하는 제 1 삽입 위치로부터 삽입 될 때되도록 요소 발급 삽입 한 후, 복사의 오버 헤드 구조를 가지고 도입되는 측 단변 제 짧은 이동 거리, 오버 헤드를 줄일 극대화 할 수 있습니다.

2.2 양단 큐 어떻게 소위 연속 공간을 구현하는

  양단 큐, 사실,이 구분 연속 연속 공간 주장, 다음 연속 공간은 증가, 감소, 점프 및 기타 운동과 같은 아날로그 기능 연속 공간을 제공하는 것입니다,이 반복자 신용이다.

 

  

3 큐

 

추천

출처www.cnblogs.com/laiyingpeng/p/11193946.html