Come Cancellare Lo Stack

Sommario:

Come Cancellare Lo Stack
Come Cancellare Lo Stack

Video: Come Cancellare Lo Stack

Video: Come Cancellare Lo Stack
Video: Vallauri Lessons - Lo Stack e le Procedure (1di2) 2024, Novembre
Anonim

Uno dei tipi di strutture dati oggi ampiamente utilizzati nella programmazione delle applicazioni è lo stack. La sua particolarità è il principio di organizzare gli elementi, in cui la loro aggiunta e rimozione è possibile solo uno alla volta e solo attraverso il "top", cioè secondo il principio LIFO. Ma a volte è necessario cancellare l'intero stack in una volta.

Come cancellare lo stack
Come cancellare lo stack

Necessario

  • - editor di testo o IDE;
  • - un traduttore dal linguaggio di programmazione utilizzato.

Istruzioni

Passo 1

Utilizzare i metodi sugli oggetti dello stack progettati specificamente per ripulire lo stack. Sono presenti nella maggior parte delle classi corrispondenti di varie librerie e framework. Ad esempio, la classe. NET Stack ha un metodo Clear. Un esempio della sua applicazione in C# potrebbe essere simile a questo:

Stack oStack = new Stack (); // crea un oggetto stack

oStack. Push ("000"); // riempi lo stack

oStack. Push ("111");

oStack. Clear (); // cancella lo stack

Passo 2

I metodi per modificare il numero di elementi delle classi contenitore, su cui è spesso costruita la funzionalità delle classi stack, possono essere utilizzati anche per la pulizia. Hai solo bisogno di ridurre il numero corrente di elementi a zero. Ad esempio, la classe template Qt QStack eredita dalla classe template QVector, che ha un metodo di ridimensionamento. Un esempio del suo utilizzo potrebbe essere questo:

QStack oStack; // dichiarazione dell'oggetto stack

for (int i = 0; i <10; i ++) oStack.push (i); // riempi lo stack

oStack.resize (0); // cancella lo stack

Passaggio 3

La pulizia di un oggetto stack può essere solitamente eseguita tramite l'operatore di assegnazione, che è spesso implementato nelle classi corrispondenti. Per fare ciò, all'oggetto dello stack da cancellare deve essere assegnato un oggetto temporaneo creato dal costruttore predefinito. Ad esempio, la classe con modelli di stack della libreria standard C++, che è un adattatore per classi con modelli di contenitori, non dispone di metodi per modificare arbitrariamente il numero o rimuovere tutti gli elementi. Puoi cancellarlo in questo modo:

std:: stack <int, std:: lista> oStack; // dichiarazione dell'oggetto stack

for (int i = 0; i <10; i ++) oStack.push (i); // riempi lo stack

oStack = std:: stack(); // cancella lo stac

Passaggio 4

Cancella l'oggetto stack chiamando il costruttore di copia usando l'operatore new con un argomento oggetto creato dal costruttore predefinito:

std:: stack <int, std:: lista> oStack; // dichiarazione dell'oggetto stack

for (int i = 0; i <10; i ++) oStack.push (i); // riempi lo stack

nuovo standard:: stack(oStack); // cancella lo stac

Passaggio 5

Lo stack può essere cancellato recuperando in sequenza tutti gli elementi utilizzando i metodi appropriati:

std:: stack <int, std:: lista> oStack; // dichiarazione dell'oggetto stack

for (int i = 0; i <10; i ++) oStack.push (i); // riempi lo stack

while (! oStack.empty ()) oStack.pop (); // cancella lo stack

Tuttavia, questo approccio ha una complessità temporale che dipende linearmente dal numero di elementi nello stack. Pertanto, il suo uso non è razionale.

Consigliato: