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(){
337
ifstream in ("inpnum");
stack > s;
int
x;
Достарыңызбен бөлісу: |