Kuidas Korstnat Kustutada

Sisukord:

Kuidas Korstnat Kustutada
Kuidas Korstnat Kustutada

Video: Kuidas Korstnat Kustutada

Video: Kuidas Korstnat Kustutada
Video: Как чистить окуней. Простейший способ. Чистка рыбы. 2024, November
Anonim

Üks tüüpi andmestruktuure, mida tänapäeval rakenduste programmeerimisel laialdaselt kasutatakse, on virn. Selle eripära on elementide korrastamise põhimõte, kus nende lisamine ja eemaldamine on võimalik ainult ükshaaval ja ainult läbi "tipu", see tähendab vastavalt LIFO põhimõttele. Kuid mõnikord on vaja kogu pinu korraga tühjendada.

Kuidas korstnat kustutada
Kuidas korstnat kustutada

Vajalik

  • - tekstiredaktor või IDE;
  • - tõlk kasutatud programmeerimiskeelest.

Juhised

Samm 1

Kasutage virnaobjektidel meetodeid, mis on spetsiaalselt ette nähtud virna puhastamiseks. Neid leidub enamikus erinevate raamatukogude ja raamistike vastavates klassides. Näiteks. NET Stacki klassil on Clear-meetod. Selle rakenduse näide C #-s võib välja näha järgmine:

Virna oStack = uus virna (); // loo korstnaobjekt

oStack. Push ("000"); // täitke virn

oStack. Push ("111");

oStack. Clear (); // korstna puhastamine

2. samm

Puhastamiseks võib kasutada ka konteineriklasside elementide arvu muutmise meetodeid, millele sageli on virnaklasside funktsionaalsus üles ehitatud. Peate lihtsalt praeguse elementide arvu nulli vähendama. Näiteks Qt malliklass QStack pärib QVectori malliklassist, millel on suuruse muutmise meetod. Selle kasutamise näide võib olla selline:

QStack oStack; // korstnaobjekti deklaratsioon

jaoks (int i = 0; i <10; i ++) oStack.push (i); // täitke virn

oStack.resize (0); // korstna puhastamine

3. samm

Virnaobjekti saab puhastada tavaliselt määramisoperaatori kaudu, mis on sageli rakendatud vastavatesse klassidesse. Selleks tuleb puhastatava virna objektile määrata vaikekonstruktori loodud ajutine objekt. Näiteks pole C ++ Standard Library virnamalliklassis, mis on konteinerimalliklasside adapter, meetodeid numbri suvaliseks muutmiseks või kõigi elementide eemaldamiseks. Saate selle tühjendada järgmiselt:

std:: stack <int, std:: list> oStack; // korstnaobjekti deklaratsioon

jaoks (int i = 0; i <10; i ++) oStack.push (i); // täitke virn

oStack = std:: stack(); // korstna koristamin

4. samm

Tühjendage korstnaobjekt, helistades koopiaehitajale uue operaatori abil vaikekonstruktori loodud objektiargumendiga:

std:: stack <int, std:: list> oStack; // korstnaobjekti deklaratsioon

jaoks (int i = 0; i <10; i ++) oStack.push (i); // täitke virn

uus standard: virn(oStack); // korstna koristamin

5. samm

Virna saab kustutada, hankides järjestikku kõik elemendid, kasutades sobivaid meetodeid:

std:: stack <int, std:: list> oStack; // korstnaobjekti deklaratsioon

jaoks (int i = 0; i <10; i ++) oStack.push (i); // täitke virn

while (! oStack.empty ()) oStack.pop (); // puhastage virn

Kuid sellel lähenemisel on ajaline keerukus, mis sõltub lineaarselt virna elementide arvust. Seetõttu pole selle kasutamine ratsionaalne.

Soovitan: