数据结构之队列和栈学习笔记
来源:互联网 发布:废除网络中立 编辑:程序博客网 时间:2024/05/16 14:00
这两天学习了队列和栈(当然还有哈希表,不过暂且不表),由于队列与栈的类似性故放在一块讲。
队列和栈与链表不一样在于其强调的不是存储单元间的关系而是存储后数据流动的一种形式,队列和栈恰好相互对应,一个是先进先出,一个是先进后出。一张图便能轻易掌握这两种数据结构的特点。说白了栈就像个桶,而队列就像个带开关的漏斗。
废话不多说,直接上代码,以栈为例,通过栈1.0版来看栈的建立以及一些基本操作。队列则可举一反三得到。
#include<iostream>#include<cassert> //提供assertusing namespace std;template<class Type> class Stack{ private: Type* data; int size,top_index; public: Stack(int input_length){ data = new Type[input_length]; size = input_length; top_index=-1; } ~Stack(){ delete[] data;} bool insert(const Type &value){ if(top_index<size-1){ data[++top_index]=value; return true; } else{ return false;} } bool pop(){ if(isempty()){ return false;} else{ top_index--; return true; } bool isempty(){ if(top_index<0){ return true; } else { return false;} } Type top(){ assert(top_index>=0); return data[top_index]; }};
其中在学习的时候多出模板类的定义,这样在选择入栈的数据类型时也较Typedef更为方便。
代码依旧很简单,初级也很容易看懂,里面以数组为载体定义了出栈入栈判断是否为空以及得栈顶元素的基本功能,实现方式可能还有大的改善空间,不过也基本够用了…
继续 ps:如有不对的地方望广大高手批评指点。。。
0 0
- 数据结构之队列和栈学习笔记
- [算法学习笔记]数据结构之栈和队列
- 数据结构学习笔记之表、栈、队列
- 数据结构学习笔记之队列
- 数据结构学习笔记之队列
- Java之数据结构基础、线性表、栈和队列、数组和字符串,树—学习笔记
- Java之数据结构基础、线性表、栈和队列、数组和字符串,树—学习笔记
- 数据结构笔记--栈和队列
- 学习笔记--数据结构(之二)队列
- 数据结构学习笔记之队列结构
- 严蔚敏数据结构学习笔记三.栈和队列
- 数据结构学习笔记——栈和队列
- 数据结构学习笔记(9.栈和队列的特殊实现)
- 4、数据结构笔记之四栈和队列定义
- 数据结构学习--栈和队列
- 数据结构之栈和队列
- 数据结构之栈和队列
- 数据结构之栈和队列
- 2016年中南大学校赛镜像赛(校外队伍)
- C语言字节对齐
- 基于OpenCV和Android的运动目标检测系统
- leetcode——106——Construct Binary Tree from Inorder and Postorder Traversal
- Launcher2 home screen 点击事件流程
- 数据结构之队列和栈学习笔记
- 第一章 Spring快速入门
- killall命令
- 广义表的建立与求深度
- tomcat 启动异常跳转classloader.class
- C++模板
- solr多个core的查询
- Codeforces Round #349 (Div. 2)(A)模拟
- 文档在线管理