
理论基础——栈与队列
栈与队列
Alex_McAvoy
想要成为渔夫的猎手
展开
-
理论基础 —— 栈
【概述】栈(Stack)是一种特殊的线性表,只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶。由于栈满足先进后出,后进先出的性质,因此也被称为先进后出表(FILO)或后进先出表(LIFO)当栈中元素个数为零时称为空栈。【栈的逻辑结构】栈的栈底固定,栈顶浮动,允许进行插入和删除操作的一端称为栈顶(Top),另一端为栈底...原创 2019-03-24 19:18:59 · 985 阅读 · 0 评论 -
理论基础 —— 队列
【概述】队列(Queue)是一种特殊的线性表,是只能在一端插入在另一端删除的特殊线性表。它按照先进先出的原则存储数据,先进入的数据被压入队首,最后的数据在队尾。由于队列满足先进先出,后进后出的性质,因此也被称为先进先出表(FIFO)或后进后出表(LILO)当队列中元素个数为零时称为空队列。【逻辑结构】队列是一种特殊的线性表,其允许插入(入队)的一端称为队尾(tail),允许...原创 2019-04-01 12:25:59 · 1521 阅读 · 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 · 509 阅读 · 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 · 434 阅读 · 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 · 972 阅读 · 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 · 311 阅读 · 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 · 320 阅读 · 0 评论