Com Esborrar La Pila

Taula de continguts:

Com Esborrar La Pila
Com Esborrar La Pila

Vídeo: Com Esborrar La Pila

Vídeo: Com Esborrar La Pila
Vídeo: 97. Programación en C+ || Pilas || Quitar elementos de una pila 2024, De novembre
Anonim

Un dels tipus d’estructures de dades que avui s’utilitzen àmpliament en la programació d’aplicacions és la pila. La seva peculiaritat és el principi d’organització d’elements, en què la seva addició i eliminació és possible només un a la vegada i només a través de la "part superior", és a dir, segons el principi LIFO. Però de vegades és necessari esborrar tota la pila alhora.

Com esborrar la pila
Com esborrar la pila

Necessari

  • - editor de text o IDE;
  • - un traductor del llenguatge de programació utilitzat.

Instruccions

Pas 1

Utilitzeu mètodes a la pila d'objectes dissenyats específicament per netejar la pila. Estan presents a la majoria de les classes corresponents de diverses biblioteques i marcs. Per exemple, la classe. NET Stack té un mètode Clear. Un exemple de la seva aplicació a C # pot ser així:

Pila oStack = nova pila (); // crear un objecte de pila

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

oStack. Push ("111");

oStack. Clear (); // neteja la pila

Pas 2

Els mètodes per canviar el nombre d'elements de classes de contenidors, sobre els quals sovint es basa la funcionalitat de les classes de pila, també es poden utilitzar per netejar. Només cal reduir a zero el nombre actual d’elements. Per exemple, la classe de plantilla Qt QStack hereta de la classe de plantilla QVector, que té un mètode de redimensionament. Un exemple del seu ús podria ser així:

QStack oStack; // declaració de l'objecte de pila

per a (int i = 0; i <10; i ++) oStack.push (i); // omplir la pila

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

Pas 3

La neteja d’un objecte de pila normalment es pot fer a través de l’operador d’assignació, que sovint s’implementa a les classes corresponents. Per fer-ho, a l'objecte de la pila que es vol esborrar se li ha d'assignar un objecte temporal creat pel constructor per defecte. Per exemple, la classe de plantilla de pila de la Biblioteca estàndard C ++, que és un adaptador per a les classes de contenidors, no té mètodes per canviar arbitràriament el número ni eliminar tots els elements. Podeu esborrar-ho així:

std:: stack <int, std:: list> oStack; // declaració de l'objecte de pila

per a (int i = 0; i <10; i ++) oStack.push (i); // omplir la pila

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

Pas 4

Esborreu l'objecte de la pila trucant al constructor de còpia mitjançant el nou operador amb un argument d'objecte creat pel constructor per defecte:

std:: stack <int, std:: list> oStack; // declaració de l'objecte de pila

per a (int i = 0; i <10; i ++) oStack.push (i); // omplir la pila

nova std:: stack(oStack); // neteja la pil

Pas 5

La pila es pot esborrar recuperant seqüencialment tots els elements mitjançant els mètodes adequats:

std:: stack <int, std:: list> oStack; // declaració de l'objecte de pila

per a (int i = 0; i <10; i ++) oStack.push (i); // omplir la pila

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

No obstant això, aquest enfocament té una complexitat temporal que depèn linealment del nombre d'elements de la pila. Per tant, el seu ús no és racional.

Recomanat: