Cómo Limpiar La Pila

Tabla de contenido:

Cómo Limpiar La Pila
Cómo Limpiar La Pila

Video: Cómo Limpiar La Pila

Video: Cómo Limpiar La Pila
Video: CÓMO LIMPIAR LOS CONTACTOS SULFATADOS DE UN PORTAPILAS 2024, Noviembre
Anonim

Uno de los tipos de estructuras de datos que se utilizan ampliamente en la actualidad en la programación de aplicaciones es la pila. Su peculiaridad es el principio de organización de elementos, en el que su adición y eliminación es posible solo uno a la vez y solo a través de la "parte superior", es decir, de acuerdo con el principio LIFO. Pero a veces es necesario borrar toda la pila a la vez.

Cómo limpiar la pila
Cómo limpiar la pila

Necesario

  • - editor de texto o IDE;
  • - un traductor del lenguaje de programación utilizado.

Instrucciones

Paso 1

Utilice métodos en los objetos de la pila que estén diseñados específicamente para limpiar la pila. Están presentes en la mayoría de las clases correspondientes de varias bibliotecas y marcos. Por ejemplo, la clase. NET Stack tiene un método Clear. Un ejemplo de su aplicación en C # podría verse así:

Pila oStack = new Stack (); // crea un objeto de pila

oStack. Push ("000"); // llena la pila

oStack. Push ("111");

oStack. Clear (); // limpia la pila

Paso 2

Los métodos para cambiar el número de elementos de las clases de contenedor, en los que a menudo se construye la funcionalidad de las clases de pila, también se pueden utilizar para la limpieza. Solo necesita reducir el número actual de elementos a cero. Por ejemplo, la clase de plantilla Qt QStack hereda de la clase de plantilla QVector, que tiene un método de cambio de tamaño. Un ejemplo de su uso podría ser así:

QStack oStack; // declaración del objeto de pila

para (int i = 0; i <10; i ++) oStack.push (i); // llena la pila

oStack.resize (0); // limpiar la pila

Paso 3

La limpieza de un objeto de pila generalmente se puede hacer a través del operador de asignación, que a menudo se implementa en las clases correspondientes. Para hacer esto, el objeto de la pila que se va a borrar debe tener asignado un objeto temporal creado por el constructor predeterminado. Por ejemplo, la clase con plantilla de pila de la biblioteca estándar de C ++, que es un adaptador para clases con plantilla de contenedor, no tiene métodos para cambiar arbitrariamente el número o eliminar todos los elementos. Puedes borrarlo así:

std:: stack <int, std:: list> oStack; // declaración del objeto de pila

para (int i = 0; i <10; i ++) oStack.push (i); // llena la pila

oStack = std:: stack(); // limpia la pil

Paso 4

Borre el objeto de la pila llamando al constructor de copia usando el nuevo operador con un argumento de objeto creado por el constructor predeterminado:

std:: stack <int, std:: list> oStack; // declaración del objeto de pila

para (int i = 0; i <10; i ++) oStack.push (i); // llena la pila

nuevo std:: pila(oStack); // limpiar la pil

Paso 5

La pila se puede borrar recuperando secuencialmente todos los elementos usando los métodos apropiados:

std:: stack <int, std:: list> oStack; // declaración del objeto de pila

para (int i = 0; i <10; i ++) oStack.push (i); // llena la pila

while (! oStack.empty ()) oStack.pop (); // limpia la pila

Sin embargo, este enfoque tiene una complejidad de tiempo que depende linealmente del número de elementos en la pila. Por tanto, su uso no es racional.

Recomendado: