El principio subyacente de C++ deque

Primero, el propósito

Implementar matriz de doble extremo

2. Implementación de nivel inferior

Espacio lineal continuo con aberturas de dos vías.

3. Diagrama esquemático

por lo tanto

4. Estructura de clases

  • clase deque: base Deque protegida

  • _Deque_base._Deque_impl

M_map 			指针数组
_M_map_size 	_M_map的容量
_M_start		记录 map 数组中首个连续空间的信息
_M_finish		记录 map 数组中最后一个连续空间的信息
  • _Deque_ iterador
_M_cur			指向当前正在遍历的元素
_M_first		指向当前连续空间的首地址
_M_last			指向当前连续空间的末尾地址
_M_node			用于指向 map 数组中存储的指向连续空间的指针
  • _deque buf size El número de elementos que se pueden acomodar en el espacio continuo
  • _M_inicializar _map
创建 map,并配置缓冲区
_M_start 和_M_finish 指向中间的位置,方便公平地往上或者向下扩展空间

五、push_back

  • ¿Es suficiente el espacio continuo actual?
  • ¿Hay suficiente espacio en el mapa?

6. pop_back

  • Elimine el último nodo. Si no hay datos en el espacio continuo actual, libere el espacio continuo.

Recomiendo una clase de proyecto de la Academia Lingsheng. Personalmente, creo que el profesor la enseñó bien. Me gustaría compartirla con ustedes:
Tarjeta de aprendizaje Lingsheng Platinum (que incluye infraestructura/almacenamiento de alto rendimiento/nativo de la nube de Golang/audio y video/kernel de Linux)
https://xxetb.xet.tech/s/VsFMs

Supongo que te gusta

Origin blog.csdn.net/qq_40135848/article/details/132579402
Recomendado
Clasificación