C ++ STL – Pila aplicación: En este programa en C ++, vamos a aprender acerca ‘pila’ que es un tipo de datos tipo de contenedor en C ++ Biblioteca de plantillas estándar (STL). Aquí estamos programa con push (de desarrollo), el pop (), etc funciones de ‘pila’ .
Pila son el tipo de datos lineal en la estructura de datos, que sigue el enfoque LIFO (Last In First Out) (propiedad), donde la inserción y eliminación realizadas por un solo extremo, que es ‘TOP’ .
En C ++ Biblioteca de plantillas estándar (STL), Stack es una especie de adaptador del recipiente declarada en el archivo de cabecera ‘pila’. Tiene algunas funciones incorporadas que se utilizan para llevar a cabo operaciones de pila.
Las funciones de la pila en STL C ++
- pila () – Se utiliza para comprobar si recipiente pila está vacía o no.
- size () – Se devuelve el tamaño (número total de elementos en la pila) del recipiente de la pila.
- superior () – Devuelve los próximos elementos (elementos superior de la pila).
- push () – Se inserta (empuja) el elemento en la pila.
- pop () – Elimina los elementos de la pila.
Referencia: http://www.cplusplus.com/reference/stack/stack/
programa para implementar la pila usando C ++ STL
#include <iostream>
#include <stack>
using namespace std;
//function to dispay stack
void dispStack(stack <int> st){
//declare temp. statck
stack <int> s = st;
while(!s.empty()){
cout<<s.top()<<" ";
s.pop();
}
cout<<endl;
}
//Main function for stack program
int main()
{
//declare stack variable
stack <int> st;
//insert elements
st.push(10);
st.push(20);
st.push(30);
st.push(40);
st.push(50);
//display stack coun, top element and stack elements
cout<<"Total stack elements are: "<<st.size()<<endl;
cout<<"Top elements is: "<<st.top()<<endl;
cout<<"All stack elements are: "<<endl;
dispStack(st);
//removing two stack elements
st.pop();
st.pop();
cout<<"nAfter removing two elements...n";
//AGAIN....
//display stack coun, top element and stack elements
cout<<"Total stack elements are: "<<st.size()<<endl;
cout<<"Top elements is: "<<st.top()<<endl;
cout<<"All stack elements are: "<<endl;
dispStack(st);
return 0;
}
salida
Total stack elements are: 5
Top elements is: 50
All stack elements are:
50 40 30 20 10
After removing two elements...
Total stack elements are: 3
Top elements is: 30
All stack elements are:
30 20 10