Kako Počistiti Kup

Kazalo:

Kako Počistiti Kup
Kako Počistiti Kup

Video: Kako Počistiti Kup

Video: Kako Počistiti Kup
Video: Как открыть кокос дома?- Фруктовый мастер - Fruitm. Лайфхаки своими руками 2024, November
Anonim

Ena izmed vrst podatkovnih struktur, ki se danes pogosto uporabljajo pri programiranju aplikacij, je sklad. Njegova posebnost je načelo organiziranja elementov, pri katerem je njihovo dodajanje in odstranjevanje možno le po enkrat in samo skozi "vrh", torej po načelu LIFO. Včasih pa je treba očistiti celoten kup naenkrat.

Kako počistiti kup
Kako počistiti kup

Potrebno

  • - urejevalnik besedil ali IDE;
  • - prevajalec iz uporabljenega programskega jezika.

Navodila

Korak 1

Uporabite metode za predmete sklada, ki so posebej zasnovani za čiščenje sklada. Prisotni so v večini ustreznih razredov različnih knjižnic in okvirov. Na primer, razred. NET Stack ima metodo Clear. Primer njegove uporabe v jeziku C # bi lahko bil videti takole:

Stack oStack = nov sklad (); // ustvarimo objekt sklada

oStack. Push ("000"); // napolnim kup

oStack. Push ("111");

oStack. Clear (); // počisti kup

2. korak

Za čiščenje lahko uporabimo tudi metode za spreminjanje števila elementov razredov vsebnikov, na katerih se pogosto gradi funkcionalnost razredov skladov. Samo trenutno število elementov morate zmanjšati na nič. Na primer, razred predloge Qt QStack podeduje iz razreda predloge QVector, ki ima metodo spreminjanja velikosti. Primer njegove uporabe bi lahko bil tak:

QStack oStack; // izjava predmeta sklada

za (int i = 0; i <10; i ++) oStack.push (i); // napolnim kup

oStack.resize (0); // počisti kup

3. korak

Čiščenje predmeta sklada se običajno lahko opravi z operaterjem dodelitve, ki se pogosto izvaja v ustreznih razredih. Če želite to narediti, je treba predmetu sklada, ki ga želite počistiti, dodeliti začasni objekt, ki ga je ustvaril privzeti konstruktor. Na primer, predlagani razred sklada standardne knjižnice C ++, ki je vmesnik za predloge s predlogom vsebnika, nima metod za samovoljno spreminjanje števila ali odstranjevanje vseh elementov. To lahko počistite tako:

std:: stack <int, std:: list> oStack; // izjava predmeta sklada

za (int i = 0; i <10; i ++) oStack.push (i); // napolnim kup

oStack = std:: stack(); // počisti ku

4. korak

Počistite objekt sklada tako, da pokličete konstruktor kopiranja z uporabo novega operatorja z argumentom predmeta, ki ga ustvari privzeti konstruktor:

std:: stack <int, std:: list> oStack; // izjava predmeta sklada

za (int i = 0; i <10; i ++) oStack.push (i); // napolnim kup

nov std:: stack(oStack); // počisti ku

5. korak

Sklad je mogoče očistiti z zaporednim pridobivanjem vseh elementov z ustreznimi metodami:

std:: stack <int, std:: list> oStack; // izjava predmeta sklada

za (int i = 0; i <10; i ++) oStack.push (i); // napolnim kup

while (! oStack.empty ()) oStack.pop (); // počisti kup

Vendar ima ta pristop časovno zapletenost, ki je linearno odvisna od števila elementov v kupčku. Zato njegova uporaba ni racionalna.

Priporočena: