template > class stack { protected: Container c; public: explicit stack(const Container& = Container()); bool empty() const {return c.empty();} size_type size() const {return c.size();} value_type& top() {return c.back();} const value_type& top() const {return c.back();} void push(const value_type& x) {c.push_back(x);} void pop() {c.pop_back();} }; Келтірілген сипаттамадан (ол қысқартылып берілген)
push стекке енгізу
əдісі
push_back соңына енгізу əдісіне,
pop стектен таңдау əдісі
pop_back соңынан таңдау əдісіне сəйкес келетіні көрініп тұр, сонымен қатар, стектің
төбесіндегі элементтің мəнін алу немесе өзгерту үшін
top əдісі қосылған.
stack класының конструкторына параметр ретінде базалық контейнерге
сілтеме беріледі, ол с қорғалған мəліметтер өрісіне көшіріледі.
Стекпен жұмыс істегенде итераторларды қолдануға болмайды жəне стектің
ортасындағы элементтің мəнін одан жоғары элементтердің барлығын таңдап алу
арқылы ғана пайдалануға болады. Жоғарыда қарастырылған барлық контейнер-
лер сияқты, стек үшін де салыстыру операциялары анықталған (327 б. қараңыз).
Стекті қолдану мысалы (программа файлдан сандарды енгізеді де, оларды
экранға кері бағытта шығарады):
#include #include #include using namespace std; int main(){