STL - stack

Dal quarto capitolo di Designing Components with the C++ STL, di Ulrich Breymann.

Lo stack é un container che permette inserimenti, letture, eliminazione a solo ad una estremità. Come tipo implicito é possibile usare ogni container sequenziale che supporti back(), push_back() e pop_back().

L'implementazione standard usa deque.

I metodi implementati sono:
  • bool empty() const: true se non ci sono elementi;
  • size_type size() const: numero di elementi;
  • value_type& top(), const value_type& top() const: l'elemento in cima;
  • void push(const value_type& x): aggiunge un elemento in cima;
  • void pop(): rimuove l'elemento in cima.
Un piccolo esempio d'uso:
#include<iostream>
#include<stack>

using namespace std;

int main() {
stack<int> aStack;

if(aStack.empty()) {
cout << "Empty stack created." << endl;
}

cout << "size is " << aStack.size() << endl;

aStack.push(5);
aStack.push(7);
cout << "size is " << aStack.size() << endl;
cout << "top is " << aStack.top() << endl;

aStack.pop();
cout << "size is " << aStack.size() << endl;
cout << "top is " << aStack.top() << endl;

aStack.pop();
cout << "size is " << aStack.size() << endl;
cout << "top is " << aStack.top() << endl;
}

Nessun commento:

Posta un commento