顺序表实现模板栈(第二次)
这是发过的一个版本的栈的链接
这次用模板再做了一遍
配有测试过的main函数,可以直接学习使用。

#include <iostream>
using namespace std;template<class T>
class SeqStack{
public:SeqStack(int sz = 50);~SeqStack(){ delete[]element; };bool push(const T& x);bool pop();bool getTop(T& x)const;bool isEmpty()const;bool isFull()const;int getSize()const;void makeEmpty();template<class U>friend ostream& operator<<(ostream& os, SeqStack<U> s);
private:T* element;int maxsize, top;
};template<class T>
SeqStack<T>::SeqStack(int sz) {if (sz <= 0){element = NULL;} else {element = new T[sz];}maxsize = sz;top = -1;
}
template<class T>
bool SeqStack<T>::push(const T& x){if (isFull()){return false;} else {element[++top] = x;return true;}
}
template<class T>
int SeqStack<T>::getSize()const {return top + 1;
}template<class T>
bool SeqStack<T>::pop(){if (isEmpty()){return false;} else{top--;return true;}
}
template<class T>
bool SeqStack<T>::getTop(T& x)const{if (isEmpty()){return false;} else {x = element[top];return true;}
}template<class T>
void SeqStack<T>::makeEmpty(){top = -1;
}
template<class T>
bool SeqStack<T>::isFull()const{return top >= maxsize - 1;
}
template<class T>
bool SeqStack<T>::isEmpty()const{return top == -1;
}template<class U>
ostream& operator<<(ostream &os, SeqStack<U> s){os<< "maxsize = "<< s.maxsize<< " top = "<< s.top<< endl;for (int i = s.top; i >= 0; --i){os << s.element[i];if (i != 0)os << " -> "; }return os;
}int main(){SeqStack<int> s;for (int i = 0; i < 20; ++i)s.push(i* 12 - 1);cout << s<< endl;for (int i = 0; i < 10; ++i)s.pop();cout << s<< endl;
}

SeqStack(Templateclass T)实现相关推荐

  1. templateclass T函数模板

    //参考  http://prglab.com/cms/pages/c-tutorial/advanced-concepts/templates.php 函数模板( Function template ...

  2. 类模板 templateclass T

    参考网址:http://c.biancheng.net/cpp/biancheng/view/213.html // demo3.cpp : 定义控制台应用程序的入口点. //#include &qu ...

  3. c++中的 templateclass Type

    c++集合了过程式语言,通用语言,面向对象语言的众多特点.模板是通用语言的特性,模板又叫参数化类型(parametrized types). 模板的定义.以下是模板定义的一般格式:template & ...

  4. php7 class template,templateclass type是什么意思

    模板类以这样的代码开头:template template 可以用它定义一个模板类或模板函数 ,class 所对的type表示一种类型. class看作是变量的类型名,该变量接受类型作为其值,把Typ ...

  5. templateclass T

    //参考  http://prglab.com/cms/pages/c-tutorial/advanced-concepts/templates.php 函数模板( Function template ...

  6. phpstorm支持php7吗,PHPStorm支持PHP7类型提示等新语法

    自定义实现支持MVC模式的轻量级Web框架AirPoint (二) :框架入口 自定义实现支持MVC模式的轻量级Web框架AirPoint (二) :框架入口的设计 1. 请求响应处理的流程 客户端发 ...

  7. python 自动生成C++代码 (代码生成器)

    python 代码自动生成的方法 (代码生成器) 遇到的问题 工作中遇到这么一个事,需要写很多C++的底层数据库类,但这些类大同小异,无非是增删改查,如果人工来写代码,既费力又容易出错:而借用pyth ...

  8. C++中函数指针的使用

    A function pointer is a variable that stores the address of a function that can later be called thro ...

  9. 继承QTreeWidgetItem发生error: 'staticMetaObject' is not a member of 'QTreeWidgetItem' 错误

    点击打开链接 #ifndef QQUSERITEM_H就发生下列错误 #define QQUSERITEM_H #include <QTreeWidgetItem> class QQUse ...

最新文章

  1. Python基础实战之函数的参数讲解(三)
  2. vue中form表单支持回车键提交踩坑
  3. Java并发编程的基础-其他的线程复位
  4. C++之智能指针std::shared_ptr简单使用和理解
  5. Android 全屏抽屉fragment,NavigationView
  6. 傍腾讯,切阿里,拼多多的千亿瞒天术
  7. 推荐一款弹出窗口插件 lhgdialog 4.2.0 正式版
  8. 病房管理系统c语言设计,病房呼叫系统设计与仿真
  9. 两电脑间传输文件|免费PC到PC文件传输软件
  10. 怎样用计算机算出54188,计算机应用技术练习题.doc
  11. 2020邮储银行实习面试经验
  12. 5G NR 下行同步SSB(1)-- SSB时频资源
  13. 揭开均线系统的神秘面纱_揭开极限编程的神秘面纱,重新探讨“ XP蒸馏”,第3部分...
  14. 《计算之魂》1.11.2--阅读心得
  15. python多个函数_请教:一个类中可以定义多个同名函数?
  16. Redis入门到实战(实战篇)缓存更新、穿透、雪崩、击穿!
  17. 谁是“明日之子”?互动视频的模糊元年
  18. O2O商城系统,适合本地电商发展的商城系统!
  19. 强叔侃墙 NAT篇 NAT Server 三十二字真言(上篇)_实验一正一反,出入自如去反存正,自断出路
  20. Android调用相机预览黑屏app passed NULL surface解决

热门文章

  1. 电梯维修属于什么服务器,电梯维修属于建筑服务中的修缮服务吗?
  2. delphi批量存入多媒体字段 遇到内存溢出的坑
  3. SylixOS普通定时器精度分析
  4. 订单可视化(智能制造、流程再造、企业信息化) 第三篇 订单可视化定义及目标...
  5. Oracle——15触发器
  6. phpcmsv9 幻灯片管理模块_UTF8
  7. 程序局部性原理的一些思考
  8. 用shell编写的贪吃蛇游戏
  9. akka actor java_Akka:使用非默认构造函数在Scala中定义一个actor并从Java代码创建它 - java...
  10. 哥哥,请原谅妹妹的自私!妹妹想做你的新娘...超级感人