数据结构学习笔记之模板栈
来源:互联网 发布:java的输出语句怎么写 编辑:程序博客网 时间:2024/05/19 23:53
之前已经写过一篇关于栈的,最近刚学了模板类的知识顺带复习一下栈。
栈:FILO first in last out 简明的一句话就能概括所有的点了,但关于栈的应用还需多练多加体会。
模板类相较于typedef的优势在于多种数据类型可以混用而不受限制,STL里的队列,栈等数据结构都是模板类实现的,可以同时声明int型,char型等不同数据类型值的高级数据结构。实现起来也很容易却方便了很多,下面以栈为例,写一个模板类:
static const CAPACITY=100;template <class Item>class Stack{ public: typedef Item value_type; typedef std::size_t size_type; Stack(size_type volume=CAPACITY){ size = volume; data = new value_type[size]; top = 0; } ~Stack(){ delete []data; } bool push(const Item& value){ if(top>size-1){ return false; } data[top] = value; top++; return true; } bool pop(){ if(isempty()){ return false; } top--; return true; } Item top() const { if(isempty()){ return null;} return data[top]; } bool isempty() const{ if(top==0){ return true;} return false; } private: value_type* data; size_type size,top;};
在类的成员函数内部,通过Item定义的数据类型可以直接拿来用,但在类外则需要typename关键字来告诉编译器这是一种数据类型,类名+< Item >以表示这是一个模板类。
区别列在下表:
这次学的堆的内容会在二叉树那一节整理出来、ここまでよ。
0 0
- 数据结构学习笔记之模板栈
- 数据结构-STL模板-学习笔记
- 数据结构学习笔记之栈
- 数据结构学习笔记之表、栈、队列
- 数据结构学习笔记之线性结构栈
- 数据结构之队列和栈学习笔记
- 数据结构学习笔记之栈结构
- C++学习笔记之模板
- Vijava 学习笔记之模板
- C++学习笔记之:模板
- 数据结构与算法学习笔记之--数据结构
- 数据结构学习笔记之堆栈
- 数据结构学习笔记之队列
- Lua学习笔记之数据结构
- 数据结构学习笔记之Linklist
- 数据结构学习笔记之队列
- 【数据结构】学习笔记之基本概念
- 数据结构学习笔记 --- 栈
- WebView使用详解(一)——Native与JS相互调用(附JadX反编译)
- 在某范围内的内容(包括图片、文字)…
- XP环境下查看psd文件缩略图显示补…
- Photoshop入门实例教程:透视效果…
- Photoshop用光与影表现3D立体字效…
- 数据结构学习笔记之模板栈
- PS加强网页设计中像素化细节的技巧
- 新手必看:Photoshop 165条实操技巧
- 10大实用web应用界面技术
- 获取年数,季度数.星期数,天数,小时…
- 设计师必看:五个添加光影效果的简…
- Photoshop CS4绘制一只逼真的金蛋
- Adobe Kuler
- 鲜为人知!Web设计中的黄金分割