【技巧】通过适配器模式完成栈的数据结构
来源:互联网 发布:蚌埠学院网络教学平台 编辑:程序博客网 时间:2024/05/14 22:07
学习了模板,我们发现,c++中的众多数据结构,如栈与队列跟模板,只是方法上与线性表不同,其真正意义上的结构,也就是线性表,代码如下:
template <typename T>class SeqList{private : int _size ; int _capacity ; T* _data ;};// template <class T, template<class> class Container>template <class T, template <class> class Container = SeqList > // 缺省参数class Stack{public : void Push (const T& x )//入栈 { PushBack(); } void Pop ()//出栈 { PopBack(); } const T & Top();//获得栈顶数据 bool Empty ();//判断是否为空栈private : Container<T > _con;};void Test (){ Stack<int > s1; Stack<int , SeqList> s2;}
其意义也就是利用模板的模板参数,对线性表进行二次封装。
如有不足之处希望指正
本文出自 “pawnsir的IT之路” 博客,请务必保留此出处http://10743407.blog.51cto.com/10733407/1752656
0 0
- 【技巧】通过适配器模式完成栈的数据结构
- 设计技巧2:适配器模式 Adapter 将一个类的接口通过适配器转换成客户希望的另外一个接口
- 【数据结构】优先级队列的实现(适配器模式)
- Java的适配器模式
- 简单的适配器模式
- 适配器模式的随想
- ListView的适配器模式
- 适配器模式的理解
- 适配器模式的理解
- “适配器模式”的应用
- cpp的适配器模式
- 适配器模式的理解
- 适配器模式的应用
- springMVC的适配器模式
- android 开发技巧(14)--通过ViewHolder优化适配器
- 完成端口的一些技巧
- 面向类的适配器模式
- 适配器模式的简单使用
- 关于mybatis的collection映射问题
- 【代码】模板实现双向链表的去重、拼接、合并、排序
- 基于hadoop与spark的大数据分析实战——第二章、Spark部署与安装
- 【干货】C++通过模板特化实现类型萃取实例--实现区分基本类型与自定义类型的memcpy
- 【代码】模板实现动态线性表(无类型萃取)
- 【技巧】通过适配器模式完成栈的数据结构
- 【代码】模板动态线性表&类型萃取
- 【干货】share智能指针的模拟实现
- 【一张大大的图片】类和对象知识点总结
- 【智能指针的延伸】两种定制删除器的实现方法
- 【干货】容器适配器实现两个栈模拟队列
- 【代码】C++实现广义表及其测试用例
- 【代码】C++实现二叉树基本操作及测试用例
- 二叉树的线索化算法思想详解