Considere una cola frente a una tienda. Puede relacionar fácilmente cosas con colas en C ++.
Comprender los conceptos básicos
Deje que los asteriscos representen a las personas que hacen cola.
- ¿Cuáles son los algoritmos detrás de las simulaciones de partículas en C / C ++?
- ¿Cómo resuelven los árboles de segmentos el problema de apuñalamiento (todos los intervalos que contienen un punto dado)?
- Cómo resolver el problema de 'La lista negra' en un CodeSprint reciente de HackerRank
- ¿Qué detección atípica incremental existe en un escenario de flujo de datos?
- Cómo capturar información de color de un anime
* <- Frente de la cola
* *
* *
* *
* *
* *
* <- Parte posterior de la cola.
Las personas se unen a la cola solo desde atrás. Si alguien intenta unirse desde el frente o desde el medio, la gente lo empujará fuera de la línea y le dirá que regrese.
Del mismo modo, las personas salen de la cola solo desde el frente. Si hay una cola en frente de un teatro, la persona en el frente saldrá de la cola y luego entrará al teatro.
Como puede ver, el patrón seguido se llama FIFO. Primero en llegar y primero en salir.
Llegando a la pregunta
Si no hay personas frente a la tienda, significa que no se forma cola. ¡No tiene sentido decir que hay una cola con 0 personas!
Por lo tanto, no hay delantero o trasero. En C ++, dado que la indexación comienza desde 0, podemos relacionar esto como front = -1 y rear = -1.
Por lo tanto, la cola no se forma. Por lo tanto delantero = trasero = -1.
Cuando llega la primera persona (elemento), Él forma una cola.
Pero dado que solo hay una persona en la cola, actúa como el frente y la parte trasera.
Lo que significa que delantero = trasero. Y dado que la indexación comienza desde 0, front = rear = 0.
¡Espero que hayas encontrado la respuesta a tu pregunta!