Cum Să Goliți Teancul

Cuprins:

Cum Să Goliți Teancul
Cum Să Goliți Teancul

Video: Cum Să Goliți Teancul

Video: Cum Să Goliți Teancul
Video: DREAM setup! GREEN TREE PYTHON CARE SHEET | with James Opdahl 2024, Mai
Anonim

Unul dintre tipurile de structuri de date care sunt utilizate pe scară largă astăzi în programarea aplicațiilor este stiva. Particularitatea sa este principiul organizării elementelor, în care adăugarea și îndepărtarea lor este posibilă doar unul câte unul și numai prin „vârf”, adică conform principiului LIFO. Dar uneori este necesar să ștergeți întregul teanc deodată.

Cum să goliți teancul
Cum să goliți teancul

Necesar

  • - editor de text sau IDE;
  • - un traducător din limbajul de programare folosit.

Instrucțiuni

Pasul 1

Utilizați metode pe obiectele stivei care sunt special concepute pentru a curăța stiva. Ele sunt prezente în majoritatea claselor corespunzătoare din diferite biblioteci și cadre. De exemplu, clasa. NET Stack are o metodă Clear. Un exemplu de aplicație în C # ar putea arăta astfel:

Stack oStack = stiva noua (); // creați un obiect stivă

oStack. Push ("000"); // umple stiva

oStack. Push („111”);

oStack. Clear (); // ștergeți teancul

Pasul 2

Metodele de modificare a numărului de elemente ale claselor de containere, pe care funcționalitatea claselor de stive este adesea construită, pot fi, de asemenea, utilizate pentru curățare. Trebuie doar să reduceți numărul curent de elemente la zero. De exemplu, clasa de șabloane Qt QStack moștenește de la clasa de șabloane QVector, care are o metodă de redimensionare. Un exemplu de utilizare a acestuia ar putea fi astfel:

QStack oStack; // declararea obiectului stivei

for (int i = 0; i <10; i ++) oStack.push (i); // umple stiva

oStack.resize (0); // ștergeți teancul

Pasul 3

Curățarea unui obiect stivă se poate face de obicei prin operatorul de atribuire, care este adesea implementat în clasele corespunzătoare. Pentru a face acest lucru, obiectului stivei care trebuie șters trebuie să i se atribuie un obiect temporar creat de constructorul implicit. De exemplu, clasa șablonată a stivei Bibliotecii standard C ++, care este un adaptor pentru clasele șablonate de containere, nu are metode pentru modificarea arbitrară a numărului sau eliminarea tuturor elementelor. O puteți șterge astfel:

std:: stack <int, std:: list> oStack; // declararea obiectului stivei

for (int i = 0; i <10; i ++) oStack.push (i); // umple stiva

oStack = std:: stack(); // ștergeți teancu

Pasul 4

Ștergeți obiectul stivă apelând constructorul de copiere utilizând noul operator cu un argument obiect creat de constructorul implicit:

std:: stack <int, std:: list> oStack; // declararea obiectului stivei

for (int i = 0; i <10; i ++) oStack.push (i); // umple stiva

nou std:: stack(oStack); // ștergeți teancu

Pasul 5

Stiva poate fi ștearsă recuperând secvențial toate elementele folosind metodele adecvate:

std:: stack <int, std:: list> oStack; // declararea obiectului stivei

for (int i = 0; i <10; i ++) oStack.push (i); // umple stiva

while (! oStack.empty ()) oStack.pop (); // ștergeți stiva

Cu toate acestea, această abordare are o complexitate de timp care depinde liniar de numărul de elemente din stivă. Prin urmare, utilizarea sa nu este rațională.

Recomandat: