Hoe Om Die Stapel Skoon Te Maak

INHOUDSOPGAWE:

Hoe Om Die Stapel Skoon Te Maak
Hoe Om Die Stapel Skoon Te Maak

Video: Hoe Om Die Stapel Skoon Te Maak

Video: Hoe Om Die Stapel Skoon Te Maak
Video: Hoe plastic hellingen op ramen te maken 2024, Mei
Anonim

Een van die soorte datastrukture wat vandag baie gebruik word in toepassingsprogrammering, is die stapel. Die eienaardigheid daarvan is die beginsel van die organisering van elemente, waarin die toevoeging en verwydering slegs een op 'n slag moontlik is en slegs deur die "top", dit wil sê volgens die LIFO-beginsel. Maar soms is dit nodig om die hele stapel gelyktydig skoon te maak.

Hoe om die stapel skoon te maak
Hoe om die stapel skoon te maak

Nodig

  • - teksredigeerder of IDE;
  • - 'n vertaler uit die gebruikte programmeertaal.

Instruksies

Stap 1

Gebruik metodes op die stapelvoorwerpe wat spesifiek ontwerp is om die stapel skoon te maak. Dit kom voor in die meeste ooreenstemmende klasse van verskillende biblioteke en raamwerke. Die. NET Stack-klas het byvoorbeeld 'n duidelike metode. 'N Voorbeeld van die toepassing daarvan in C # kan so lyk:

Stapel oStack = nuwe stapel (); // skep 'n stapelvoorwerp

oStack. Push ("000"); // vul die stapel

oStack. Push ("111");

oStack. Clear (); // maak die stapel skoon

Stap 2

Metodes vir die verandering van die aantal elemente van houerklasse waarop die funksionaliteit van stapelklasse dikwels gebou word, kan ook gebruik word vir skoonmaak. U hoef net die huidige aantal elemente tot nul te verminder. Die Qt-sjabloonklas QStack erf byvoorbeeld van die QVector-sjabloonklas, wat 'n grootte-metode het. 'N Voorbeeld van die gebruik daarvan kan soos volg wees:

QStack oStack; // verklaring van die stapelvoorwerp

vir (int i = 0; i <10; i ++) oStack.push (i); // vul die stapel

oStack.resize (0); // maak die stapel skoon

Stap 3

Opruim van 'n stapelvoorwerp kan gewoonlik gedoen word deur die opdragoperateur, wat dikwels in die ooreenstemmende klasse geïmplementeer word. Om dit te doen, moet die voorwerp van die stapel wat skoongemaak moet word, 'n tydelike voorwerp kry wat deur die standaardkonstrukteur geskep is. Byvoorbeeld, die C ++ standaardbiblioteek-stapelklas, wat 'n adapter is vir houersjabloonklasse, het nie metodes om die nommer willekeurig te verander of alle elemente te verwyder nie. U kan dit so uitvee:

std:: stapel <int, std:: lys> oStack; // verklaring van die stapelvoorwerp

vir (int i = 0; i <10; i ++) oStack.push (i); // vul die stapel

oStack = std:: stapel(); // maak die stapel skoo

Stap 4

Maak die stapelvoorwerp skoon deur die kopie-konstrukteur te skakel met behulp van die nuwe operateur met 'n objekargument wat deur die standaardkonstruksie geskep is:

std:: stapel <int, std:: lys> oStack; // verklaring van die stapelvoorwerp

vir (int i = 0; i <10; i ++) oStack.push (i); // vul die stapel

nuwe std:: stapel(oStack); // maak die stapel skoo

Stap 5

Die stapel kan skoongemaak word deur die elemente opeenvolgend op te haal met behulp van die toepaslike metodes:

std:: stapel <int, std:: lys> oStack; // verklaring van die stapelvoorwerp

vir (int i = 0; i <10; i ++) oStack.push (i); // vul die stapel

terwyl (! oStack.empty ()) oStack.pop (); // die stapel skoonmaak

Hierdie benadering het egter 'n tydskompleksiteit wat lineêr afhang van die aantal elemente in die stapel. Daarom is die gebruik daarvan nie rasioneel nie.

Aanbeveel: