Ir al contenido

Programación en C++/Librería Estándar de Plantillas/Pilas

De Wikilibros, la colección de libros de texto de contenido libre.

Editores:

Oscar E. Palacios

Librería Estándar de Plantillas

C++ stack estándar

[editar]
Una pila es una estructura en donde los elementos son insertados y retirados
del tope (top) de la misma, debido a ello el comportamiento de una pila se
conoce como LIFO ( último en entrar, primero en salir ). Ver Estructuras II

La Libreria estándar de plantillas soporta el uso de estructuras de pila a travez de la plantilla de clase stack, la cual posee el mecanismo de operación necesario para manejar operaciones de insertar (push), borrar(pop), entre otras. La clase stack posee únicamente cinco métodos y dos constructores.

En seguida se presenta un ejemplo sumamente básico, el cual consiste en crear una pila para contener elementos de tipo char. Los caracteres se introducen en orden desde la 'A' hasta la 'Z' y, tal como tiene que ser, al recuperarlos se obtienen en orden inverso, o sea, desde la 'Z' hasta la 'A'.

En el programa se debe observar que, se usa el método push para agregar componentes a la lista; el método top regresa una referencia al elemento que se encuentra en el tope de la pila y este es usado para leer y desplegar el carácter; y se emplea el método pop para eliminar el elemento que está en el tope de la pila.

// programa: pila01.cpp
// un simple ejemplo del uso de la plantilla stack

#include <cstdlib>
#include <iostream>
#include <stack>

using namespace std;

int main(int argc, char *argv[])
{
  stack<char> s;
  for (int i='A'; i <= 'Z'; i++)
    s.push(i);

  while (! s.empty() )
  {
    cout << s.top() << " " ;
    s.pop();
  }

  cout << endl;
  system("PAUSE");
  return EXIT_SUCCESS;
}

Métodos

[editar]
Tabla de métodos: clase stack
NombreDescripción
emptycierto (true) si el stack está vacio
popborra el elemento en el tope del stack
pushagrega un elemento en el tope del stack
sizeregresa el numero de elementos en el stack
topregresa el último elemento en el stack
Librería Estándar de Plantillas