STL — Standard Template Library
Stive (stack)
stack<T> implementează structura LIFO (Last In, First Out) — ultimul adăugat e primul scos.
#include <stack>
using namespace std;
stack<int> s;
s.push(1);
s.push(2);
s.push(3);
cout << s.top() << endl; // 3 (ultimul adăugat)
s.pop(); // elimină 3
cout << s.top() << endl; // 2
cout << s.size() << endl; // 2
cout << s.empty() << endl; // 0 (false)Aplicație: verificare paranteze
bool parantezeBine(string s) {
stack<char> st;
for (char c : s) {
if (c == '(') st.push(c);
else if (c == ')') {
if (st.empty()) return false;
st.pop();
}
}
return st.empty();
}
cout << parantezeBine("((()))") << endl; // 1 (true)
cout << parantezeBine("(()") << endl; // 0 (false)