Si Të Pastroni Pirgun

Si Të Pastroni Pirgun
Si Të Pastroni Pirgun

Përmbajtje:

Anonim

Një nga llojet e strukturave të të dhënave që përdoren gjerësisht sot në programimin e aplikacioneve është stack. Veçori e tij është parimi i organizimit të elementeve, në të cilin shtimi dhe heqja e tyre është e mundur vetëm një në një kohë dhe vetëm përmes "majës", domethënë, sipas parimit LIFO. Por ndonjëherë është e nevojshme të pastroni të gjithë pirgun në të njëjtën kohë.

Si të pastroni pirgun
Si të pastroni pirgun

E nevojshme

  • - redaktues teksti ose IDE;
  • - një përkthyes nga gjuha e përdorur e programimit.

Udhëzimet

Hapi 1

Përdorni metoda në objektet e pirgut që janë krijuar posaçërisht për të pastruar pirgun. Ato janë të pranishme në shumicën e klasave përkatëse të bibliotekave dhe kornizave të ndryshme. Për shembull, klasa. NET Stack ka një metodë Clear. Një shembull i aplikimit të tij në C # mund të duket kështu:

Stack oStack = Stack i ri (); // krijoni një objekt pirg

oStack. Push ("000"); // mbushni pirgun

oStack. Push ("111");

oStack. Clear (); // pastroni pirgun

Hapi 2

Metodat për ndryshimin e numrit të elementeve të klasave të kontejnerëve, mbi të cilat shpesh ndërtohet funksionaliteti i klasave të pirgut, gjithashtu mund të përdoren për pastrim. Thjesht duhet të zvogëloni numrin aktual të elementeve në zero. Për shembull, klasa e modelit Qt QStack trashëgon nga klasa e modelit QVector, e cila ka një metodë të ndryshimit të madhësisë. Një shembull i përdorimit të tij mund të jetë i tillë:

QStack oStack; // deklarimi i objektit të pirgut

për (int i = 0; i <10; i ++) oStack.push (i); // mbushni pirgun

oStack.resize (0); // pastroni pirgun

Hapi 3

Pastrimi i një objekti pirg zakonisht mund të bëhet përmes operatorit të caktimit, i cili shpesh zbatohet në klasat përkatëse. Për ta bërë këtë, objektit të pirgut që duhet pastruar duhet t'i caktohet një objekt i përkohshëm i krijuar nga konstruktori i paracaktuar. Për shembull, klasa e shabllonit të Bibliotekës Standarde C ++, e cila është një përshtatës për klasat e shabllonizuara me kontejner, nuk ka metoda për ndryshimin arbitrar të numrit ose heqjen e të gjithë elementeve. Mund ta pastroni kështu:

std:: pirg <int, std:: listë> oStack; // deklarimi i objektit të pirgut

për (int i = 0; i <10; i ++) oStack.push (i); // mbushni pirgun

oStack = std:: pirg(); // pastroni pirgu

Hapi 4

Pastroni objektin e pirgut duke thirrur konstruktorin e kopjimit duke përdorur operatorin e ri me një argument të objektit të krijuar nga konstruktori i paracaktuar:

std:: pirg <int, std:: listë> oStack; // deklarimi i objektit të pirgut

për (int i = 0; i <10; i ++) oStack.push (i); // mbushni pirgun

std i ri:: pirg(oStack); // pastroni pirgu

Hapi 5

Stiva mund të pastrohet duke rikuperuar sekuencialisht të gjithë elementët duke përdorur metodat e duhura:

std:: pirg <int, std:: listë> oStack; // deklarimi i objektit të pirgut

për (int i = 0; i <10; i ++) oStack.push (i); // mbushni pirgun

ndërsa (! oStack.empty ()) oStack.pop (); // pastroni pirgun

Sidoqoftë, kjo qasje ka një kompleksitet kohor që varet në mënyrë lineare nga numri i elementeve në pirg. Prandaj, përdorimi i tij nuk është racional.

Recommended: