Kako Očistiti Stog

Sadržaj:

Kako Očistiti Stog
Kako Očistiti Stog

Video: Kako Očistiti Stog

Video: Kako Očistiti Stog
Video: ИДЕАЛЬНЫЙ ПЕДИКЮР ДОМА: ВСЕ СЕКРЕТЫ 2024, Studeni
Anonim

Jedna od vrsta struktura podataka koja se danas široko koristi u aplikacijskom programiranju je stog. Njegova je osobitost princip organiziranja elemenata, u kojem je njihovo dodavanje i uklanjanje moguće samo jedan po jedan i samo kroz "vrh", odnosno prema LIFO principu. Ali ponekad je potrebno očistiti cijeli stog odjednom.

Kako očistiti stog
Kako očistiti stog

Potrebno

  • - uređivač teksta ili IDE;
  • - prevoditelj s korištenog programskog jezika.

Upute

Korak 1

Koristite metode na objektima stoga koji su posebno dizajnirani za čišćenje stoga. Prisutni su u većini odgovarajućih razreda različitih knjižnica i okvira. Na primjer, klasa. NET Stack ima metodu Clear. Primjer njegove primjene na C # mogao bi izgledati ovako:

Stog oStack = novi stog (); // stvoriti objekt stog

oStack. Push ("000"); // ispuniti stog

oStack. Push ("111");

oStack. Clear (); // očistiti stog

Korak 2

Za čišćenje se mogu koristiti i metode za promjenu broja elemenata klasa spremnika, na kojima se često gradi funkcionalnost klasa stogova. Samo trebate smanjiti trenutni broj elemenata na nulu. Na primjer, klasa Qt predloška QStack nasljeđuje od klase predloška QVector koja ima metodu promjene veličine. Primjer njegove upotrebe mogao bi biti ovakav:

QStack oStack; // deklaracija stack objekta

za (int i = 0; i <10; i ++) oStack.push (i); // ispuniti stog

oStack.resize (0); // očistiti stog

3. korak

Čišćenje složenog objekta obično se može obaviti putem operatora dodjele, što se često implementira u odgovarajuće klase. Da bi se to učinilo, objektu steka koji se briše mora se dodijeliti privremeni objekt stvoren zadanim konstruktorom. Na primjer, predložena klasa steka standardne knjižnice C ++, koja je adapter za klase s predloškom spremnika, nema metode za proizvoljnu promjenu broja ili uklanjanje svih elemenata. Možete to očistiti ovako:

std:: stack <int, std:: list> oStack; // deklaracija stack objekta

za (int i = 0; i <10; i ++) oStack.push (i); // ispuniti stog

oStack = std:: stog(); // očistiti sto

4. korak

Očistite objekt steka pozivanjem konstruktora kopiranja pomoću novog operatora s argumentom objekta kreiranim zadanim konstruktorom:

std:: stack <int, std:: list> oStack; // deklaracija stack objekta

za (int i = 0; i <10; i ++) oStack.push (i); // ispuniti stog

novi std:: stog(oStack); // očistiti sto

Korak 5

Stog se može očistiti sekvencijalnim dohvaćanjem svih elemenata pomoću odgovarajućih metoda:

std:: stack <int, std:: list> oStack; // deklaracija stack objekta

za (int i = 0; i <10; i ++) oStack.push (i); // ispuniti stog

while (! oStack.empty ()) oStack.pop (); // očistiti stog

Međutim, ovaj pristup ima vremensku složenost koja linearno ovisi o broju elemenata u stogu. Stoga njegova uporaba nije racionalna.

Preporučeni: