La analogía del clip de rifle publicado por Oren A es bastante bueno, pero intentaré con otro e intentaré anticipar lo que el instructor estaba tratando de transmitir.
una pila, como su nombre sugiere es una disposición de "cosas" que tiene:
- Una tapa
- Una parte inferior
- un ordenamiento en entre la parte superior y la parte inferior (por ejemplo, segunda desde la arriba, tercero desde abajo).
(pensar en ella como una pila literal de libros sobre su escritorio y sólo se puede tomar algo de la parte superior)
empujar algo en la pila significa "colocándolo en la parte superior". Saltar algo de la pila significa "sacar la 'cosa' superior de la pila.
Un uso simple es para invertir el orden de las palabras. Digamos que quiero invertir la palabra: "palomitas de maíz". Empujo cada letra de izquierda a derecha (las 7 letras), y enseño 7 letras y terminarán en orden inverso. Parece que esto era lo que estaba haciendo con esas expresiones.
de empuje (p) de empuje (o) de empuje (p) de empuje (c) de empuje (o) de empuje (r) de empuje (n)
después de empujar la palabra completa, la pila parece:
| n | <- top
| r |
| o |
| c |
| p |
| o |
| p | <- bottom (first "thing" pushed on an empty stack)
======
cuando me pop() siete veces, consigo las letras en este orden:
n, R, O, C, P, O, P
conversión de infijo/postfix/prefijo es un ejemplo patológico en la informática en la enseñanza de las pilas:
Infix to Postfix conversion.
Mensaje solución de conversión a una expresión infija es bastante sencillo:
(expresión exploración desde de izquierda a derecha)
- Para cada número (operando) empújelo en la pila.
- Cada vez que encuentre un operador (+, -, /, *), salte dos veces de la pila y coloque al operador entre ellas. Empuje que en la pila:
Así que si tenemos 53 + 2 * Podemos convertir a INFIX que en los siguientes pasos:
- empuje 5.
- empuje 3.
- Encontrados +: pop 3, pop 5, push 5 + 3 en la pila (sea coherente con el pedido de 5 y 3)
- Push 2.
- Encountered *: pop 2, pop (5 + 3), push (2 * (5 + 3)).
* Cuando llegue al final de la expresión, si se formó correctamente, la pila solo debe contener un elemento.
Al introducir 'x' y 'o' puede haber estado usándolos como titulares temporales para los operandos izquierdo y derecho de una expresión infija: x + o, x - o, etc. (o orden de x, o invertido).
También hay un buen write up on wikipedia. Dejé mi respuesta como una wiki en caso de que haya estropeado el orden de las expresiones.
@ Matt: Es que eran el instructor que sería mejor aconseja tomar algunas pistas de esta cuestión. Si el conferenciante estaba oscureciendo su trabajo, lo estaba haciendo mal. Si cubrió una gran cantidad de material no tratado adecuadamente en el texto y no hizo un conjunto de notas disponibles, lo estaba haciendo mal. Así habla la voz de la experiencia adjunta. ** @ adam **: Dicho esto, llamar a un instructor "basura" de una cuenta que podría ser rastreable a la identidad de su estudiante probablemente no sea sabio, y nos ha dado solo la más vaga idea de lo que * obtuvo * de la conferencia. – dmckee
Siéntase libre de aceptar la respuesta que más le ayudó. :) –