1.stack容器基本概念
?stack是一種先進(jìn)后出(First In Last Out,FILO)的數(shù)據(jù)結(jié)構(gòu),它只有一個(gè)出口芒划,形式如圖所示冬竟。stack容器允許新增元素,移除元素民逼,取得棧頂元素泵殴,但是除了最頂端外,沒有任何其他方法可以存取stack的其他元素拼苍。換言之笑诅,stack不允許有遍歷行為。
?有元素推入棧的操作稱為:push,將元素推出stack的操作稱為pop疮鲫。
2.stack沒有迭代器
?Stack所有元素的進(jìn)出都必須符合”先進(jìn)后出”的條件吆你,只有stack頂端的元素,才有機(jī)會(huì)被外界取用俊犯。Stack不提供遍歷功能妇多,也不提供迭代器。
3.stack常用API
- stack構(gòu)造函數(shù)
stack<T> stkT;//stack采用模板類實(shí)現(xiàn)燕侠, stack對象的默認(rèn)構(gòu)造形式:
stack(const stack &stk);//拷貝構(gòu)造函數(shù)
- stack賦值操作
stack& operator=(const stack &stk);//重載等號(hào)操作符
- stack數(shù)據(jù)存取操作
push(elem);//向棧頂添加元素
pop();//從棧頂移除第一個(gè)元素
top();//返回棧頂元素
- stack大小操作
empty();//判斷堆棧是否為空
size();//返回堆棧的大小