
理论基础——栈与队列
栈与队列
Alex_McAvoy
想要成为渔夫的猎手
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
理论基础 —— 栈
【概述】 栈(Stack)是一种特殊的线性表,只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶。 由于栈满足先进后出,后进先出的性质,因此也被称为先进后出表(FILO)或后进先出表(LIFO) 当栈中元素个数为零时称为空栈。 【栈的逻辑结构】 栈的栈底固定,栈顶浮动,允许进行插入和删除操作的一端称为栈顶(Top),另一端为栈底...原创 2019-03-24 19:18:59 · 1009 阅读 · 0 评论 -
理论基础 —— 队列
【概述】 队列(Queue)是一种特殊的线性表,是只能在一端插入在另一端删除的特殊线性表。它按照先进先出的原则存储数据,先进入的数据被压入队首,最后的数据在队尾。 由于队列满足先进先出,后进后出的性质,因此也被称为先进先出表(FIFO)或后进后出表(LILO) 当队列中元素个数为零时称为空队列。 【逻辑结构】 队列是一种特殊的线性表,其允许插入(入队)的一端称为队尾(tail),允许...原创 2019-04-01 12:25:59 · 1547 阅读 · 0 评论 -
理论基础 —— 栈 —— 顺序栈
【实现类】 const int maxSize=100; template <class T> class seqStack{ public: seqStack(); ~seqStack(); void push(T x);//入栈 T pop();//出栈 T getTop();//获取栈顶元素 bool empty();//判断...原创 2019-03-24 19:37:05 · 528 阅读 · 0 评论 -
理论基础 —— 栈 —— 链栈
【实现类】 template <class T> struct Node{ T data; Node *next; }; template <class T> class linkStack{ public: linkStack(); ~linkStack(); void push(T x);//入栈 T pop();//...原创 2019-03-24 20:26:34 · 453 阅读 · 0 评论 -
理论基础 —— 栈 —— 双端栈
【实现类】 const int maxSize=100; template <class T> class seqStack{ public: seqStack(); ~seqStack(); void push(T x);//入栈 T pop();//出栈 T getTop();//获取栈顶元素 bool empty();//判断...原创 2019-03-24 20:27:33 · 997 阅读 · 0 评论 -
理论基础 —— 队列 —— 链队列
【实现类】 template<class T> struct Node{ T data; Node *next; }; template<class T> class linkQueue{ public: linkQueue(); ~linkQueue(); void push(T x);//入队 T pop();//出队...原创 2019-04-01 13:17:33 · 325 阅读 · 0 评论 -
理论基础 —— 队列 —— 循环队列
【实现类】 const int MAXSIZE=100; template<class T> class cirQueue{ public: cirQueue(); ~cirQueue(); void push(T x);//入队 T pop();//出队 bool empty();//判断队列是否为空 T getFront();//...原创 2019-04-01 13:17:04 · 337 阅读 · 0 评论