Contenedor STL_stack

1. Introducción a la pila

La pila es una estructura de datos de primero en entrar, último en salir (FILO), solo tiene una salida. El contenedor de la pila permite agregar elementos, eliminar elementos y obtener el elemento superior de la pila, pero no hay otra forma de acceder a otros elementos de la pila excepto por la parte superior. En otras palabras, la pila no permite el comportamiento transversal.

  • La operación de empujar elementos sobre la pila se llama: empujar
  • La operación de empujar elementos fuera de la pila se llama pop

Apilar es simplemente para decorar el contenedor deque y convertirse en otro tipo de contenedor.

#include <stack>
Inserte la descripción de la imagen aquí

En segundo lugar, la estructura predeterminada del objeto de pila

La pila se implementa utilizando clases de plantilla y la estructura predeterminada del objeto pila: pila stkT;

stack <int> stkInt;      //一个存放int的stack容器。
stack <float> stkFloat;   //一个存放float的stack容器。
stack <string> stkString;   //一个存放string的stack容器。
//尖括号内还可以设置指针类型或自定义类型。

Tres métodos de pila push () y pop ()

stack.push (elem); // Agrega elementos al cabezal de la pila

stack.pop (); // Elimina el primer elemento de la pila

stack<int> stkInt;  

stkInt.push(1);
stkInt.push(3);
stkInt.pop();  
//此时stkInt存放的元素是1

Cuarto, la construcción de copias y la asignación de objetos de pila.

stack (const stack & stk); // constructor de copia

stack & operator = (const stack & stk); // Sobrecargar el operador de signo igual

stack<int> stkIntA;
stkIntA.push(9);
stack<int> stkIntB(stkIntA);       //拷贝构造
stack<int> stkIntC;
stkIntC = stkIntA;               //赋值

Cinco, acceso a datos de pila

stack.top (); // Devuelve el último elemento insertado en la pila, que es el elemento superior de la pila

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(7);
stkIntA.push(9); 
int iTop = stkIntA.top();      //9

Seis, el tamaño de la pila

stack.empty (); // Determinar si la pila está vacía

stack.size (); // Devuelve el tamaño de la pila

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
if (!stkIntA.empty()){
    
    
	int iSize = stkIntA.size();      //2
   }

Supongo que te gusta

Origin blog.csdn.net/weixin_45341339/article/details/113126760
Recomendado
Clasificación