C ++ STL (5): contenedor de pila


1 Conceptos básicos de pila

Características : La pila stackes una estructura de datos de primero en entrar, último en salir ( FILOprimero en entrar, último en salir), y solo el extremo superior de la pila puede insertar o eliminar datos.
contenedor de pila
Elemento superior de la pila : solo el mundo exterior puede acceder y utilizar el elemento superior top()de la pila, por lo queLa pila no permite el comportamiento transversal.
Empuje / Empuje la pila :, push()empuje el elemento hacia la parte superior de la pila. Pop
/ pop the stack :, pop()saca el elemento de la parte superior de la pila.


Interfaz común de 2 pilas

Nota: cuando utilice el contenedor de pila, debe incluir el archivo de encabezado #include <stack>.

Constructor :
stack<T> stk;: constructor sin argumentos predeterminado, implementado por plantilla de clase .
stack(const stack &stk);: Copiar constructor, usar el objeto de pila existente para inicializar un nuevo objeto.

Operación de asignación :
stack& operator=(const stack &stk);sobrecargue el operador de asignación, use el contenedor de la pila de destino para asignar un valor al contenedor de la pila actual.

Acceso a datos :
push(elem);empuja elementos a la parte superior de la pila.
pop();: Saca el elemento de la parte superior de la pila.
top();: Vuelve al elemento superior de la pila.

Operación de tamaño :
empty();juzgue si la pila está vacía.
size();: Devuelve el tamaño de la pila.

Ejemplo : interfaces comunes de la pila

#include <iostream>
using namespace std;
#include <stack>

int main() {
    
    
	//创建stack容器
	stack<int> s;

	//压栈
	s.push(1);
	s.push(2);
	s.push(3);
	s.push(4);
	s.push(5);

	cout << "当前栈的大小:" << s.size() << endl;	//5

	while (!s.empty()) {
    
    
		cout << "当前栈顶元素:" << s.top() << endl;	//5→4→3→2→1

		//出栈
		s.pop();
	}
	cout << "当前栈的大小:" << s.size() << endl;	//0

	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/newson92/article/details/113930768
Recomendado
Clasificación