Pila en C ++ STL (Standard Template Library)

C ++ STL Pila : Aquí, vamos a aprender sobre la pila en C ++ STL , cómo implementar una pila utilizando biblioteca de plantillas estándar de C ++ ?

pila en la estructura de datos

El pila es una lista ordenada donde inserción y eliminación se realizan desde el mismo extremo, superior . El último elemento que entró por primera vez es el primero en ser eliminado (el principio básico detrás del LIFO). Esto significa que es una estructura de datos que se implementa como LIFO.

Las operaciones de la pila class son (operaciones ADT básico):

  1. empuje (T datos): de inserción en la parte superior
  2. T pop (): Supresión de arriba
  3. bool estaVacia ( ): cheques class pila que está vacío

Aquí, T es el tipo de datos ( main / / for etc)

STL

la Biblioteca de plantillas estándar (STL) es un conjunto de clases de C ++ plantilla para proporcionar estructuras de datos comunes de programación y funciones, tales como listas, pilas, matrices, etc. Por lo tanto STACK se puede implementar con ayuda de STL también.

STACK en STL

Para declarar una pila de tipo de datos T:

    stack<T> st; //basic STL declarations
e.g.:
stack<int> st; //stack to hold integers only

Para declarar el iterador pila:

    stack<T>::iterator it;
e.g.:
stack<int>::iterator it;

C ++ STACK funciones

empuje (punto T) – Inserciones un elemento en la parte superior

pop () – Pops el elemento superior, no class el elemento hecho estallar

superior () – Devuelve el elemento superior

vaciar – Devuelve verdadero o falso en función de si la pila está vacía

tamaño () – Devuelve el tamaño de la pila

puede hacer clic en cada función para comprobar el código detallado y la ejecución de cada función. A continuación es el montar de una operación total de pila.

implementación en C ++ pila

#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<"...STACK STL...n";
stack<int> st; //declare the stack
cout<<"enter 0 to stop pushing else enter any other integern";
int num,count=0;
cin>>num;
while(num!=0){
st.push(num); //push function
cin>>num;
}
cout<<"stack size is: "<<st.size()<<endl; //size function
cout<<"popping...n";
cout<<"stack elements are:n";
while(!st.empty()){//stack not empty
cout<<"top element is:"<<st.top()<<endl;//print top element
st.pop();
count++;
}
if(st.empty())
cout<<"stack emptyn";
cout<<"stack size is: "<<st.size()<<endl; //size function
cout<<count<<" pop operation performed total to make stack emptyn";
return 0;
}

salida

...STACK STL...
enter 0 to stop pushing else enter any other integer
3
7
8
12
-4
0
stack size is: 5
...popping
stack elements are:
top element is:-4
top element is:12
top element is:8
top element is:7
top element is:3
stack empty
stack size is: 0
5 pop operation performed total to make stack empty


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *