stack类别
题1:
(图片来源网络,侵删)
完成Stack类的改造,将其设置为模板类。 使用这个模板Stack类创建两个堆栈对象。 在主程序中创建一个字符堆栈,一个int堆栈,分别压入一个字符串和5个整数,从顶端分别打印出两个堆栈的内容。
【测试数据】 输入: hello 1 2 3 4 5 输出: o l l e h 5 4 3 2 1 说明: 输出行的末尾可以有一个空格
#include #include //stack的意思是堆,想象一堆堆在一起的文件,最上面的是top-1(就像数组一样的),最下面的是0(编号为0) using namespace std; const int MAX_SIZE=100; template //typename可以把它替换成int之类的数据类型 //那么之后这个T就表示int数据类型 class Stack { private: T *data; //T类型数据的指针 int size; int top; public: /* 这里需要以下的函数 构造,析构,把元素弄出去的函数(需要判断是否为空), 把元素放进来的函数(需要判断是否为满的函数) 显示的函数(正反显示), 如果可以的话还可以搞一个返回栈顶元素的函数 */ Stack(); Stack(int s); ~Stack(); void push(T ch); T pop(); //返回的元素是T类型的 T getTopElement(); bool isEmpty(); bool isFull(); void setNull(); void reverseDisplay(); void display(); }; template Stack::Stack()//如果使用template 的话,函数的声明要变成这个样子 { /*析构函数需要包括 大小的声明,top值的设置,data的设置 */ size = MAX_SIZE; top = -1; //cout
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...