栈(stack),C++模板实现

**栈:**(stack.h)

---
#ifndef __STACK_H__#define __STACK_H__#include #include#includeusing namespace std;template class Stack{private:int _top;T _parr[num];public:Stack();~Stack();bool full();bool empty();bool push(T elem);**bool pop(T &);**int getPos(){return _top;}};

template Stack::Stack():_top(-1){}template Stack::~Stack(){}template bool Stack::full(){return _top == (num-1);}template bool Stack::empty(){return _top == -1;}template bool Stack::push(T elem){if(!full()){_parr[++_top] = elem;return true;}return false;}template bool Stack::pop(T & t){if(!empty()){t = _parr[_top--];return true;}elsereturn false;}#endif

测试代码(testStack.cpp)

---
#include"stack.h"int test0(void){**Stack stackInt;**cout << "开始时stakcInt是否为空?" << stackInt.empty() << endl;stackInt.push(5);cout << "此始时stakcInt是否为空?" << stackInt.empty() << endl;

for(int idx = 1; idx !=10; ++idx){stackInt.push(idx);}cout << "此时stakcInt是否已满?" << stackInt.full() << endl;

for(int idx = 0; idx != 10; ++idx){int elem = 0;stackInt.pop(elem);cout << elem << " ";}cout << endl;return 0;}int test1(void){**Stack stackInt;**cout << "开始时stakcInt是否为空?" << stackInt.empty() << endl;stackInt.push("aa");cout << "此始时stakcInt是否为空?" << stackInt.empty() << endl;

for(int idx = 1; idx !=10; ++idx){**string s(2, 'a' + idx);****//string类的一个构造函数,表示含有2个元素的string对象,其中每个元素都初始化为后面的字符**stackInt.push(s);}cout << "此时stakcInt是否已满?" << stackInt.full() << endl;

for(int idx = 0; idx != 10; ++idx){string elem;stackInt.pop(elem);cout << elem << " ";}cout << endl;return 0;}int main(){test0();test1();return 0;}![](data:image/png;base64,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)

原文链接: https://www.cnblogs.com/meihao1203/p/9190105.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/276150

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 上午1:29
下一篇 2023年2月15日 上午1:29

相关推荐