Esta es la implementación de una pila en su forma más básica: utilizando arreglos y funciones; un simple arreglo de enteros con 10 elementos y unas cuantas funciones que describen en su manera más sencilla el funcionamiento de una pila.
#include <iostream> #define N 10 using namespace std; int V[N], tope = -1; bool llena() { return tope == N-1; } bool vacia() { return tope == -1; } void insertar(int dato) { if (!llena()) { // No podemos colocar un elemento a una pila llena. tope++; V[tope] = dato; } } int extraer() { if (!vacia()) { int aux = V[tope]; tope--; return aux; //Una forma mas elegante era colocar: return V[tope--]; } else return -9999; //Si la pila esta vacia, retornamos un valor bandera... } int main() { insertar(3); insertar(9); insertar(4); cout << extraer() << endl; //Muestra 4 cout << extraer() << endl; //Muestra 9 cout << extraer() << endl; //Muestra 3 }
Consideraciones respecto a este código:
- Tope y cima: dos variables que dan lugar a confusiones. Aquí estamos utilizando como variable que demarca el último elemento en la pila como tope, como también podíamos haberlo denominado cima, en realidad esto no importa, solamente nos interesa tener una variable que nos muestre cuál es el último elemento en la pila :-)
- Los arreglos en C++ comienzan con el índice 0, por esta razón el valor de la variable tope tiene inicialmente el valor de -1. Esto significa que inicialmente no existe ningún elemento en la pila. Así cuando coloquemos el primer elemento, el valor de tope será 0.
1 comentarios:
Hotel Casino - MapYRO
Find the best and most suitable casino in New York 하남 출장마사지 City. 목포 출장안마 We have more than 동해 출장안마 2,500 slots, table games, 고양 출장마사지 video 정읍 출장샵 poker and blackjack games, as well as casino
Publicar un comentario