![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈和队列
夜深人静码代码
这个作者很懒,什么都没留下…
展开
-
链队的算法
一、链队的相关概念1、若用户无法估计所用队列的长度,则宜采用链队列。2、链队列的存储方式如下图所示3、链队列的类型定义#define MAXQSIZE 100 //最大队列长度typedef struct Qnode {QElemType data;stuct Qnode *next;}QNode, *QueuePtr;typedef struct {QueuePtr front; //队头指针QueuePtr rea原创 2022-04-24 09:34:56 · 842 阅读 · 0 评论 -
循环队列的算法
一、循环队列的初始化原创 2022-04-23 13:44:27 · 1486 阅读 · 0 评论 -
队列的存储和循环队列
一、队列的存储结构1、队列的物理存储可以用顺序存储结构,也可用链式存储结构。相应队列的存储方式也分为两种,即顺序队列和链式队列。2、顺序队列可以用一维数组表示如下:#define MAXQSIZE 100 //最大队列长度Typedef struct {QElemType *base; //初始化的动态分配存储空间int front; //头指针int rear; //尾指针}SqQueue;二、循环队列的基本操作语句1、队列的初始:front=rear=0;2、原创 2022-04-22 20:36:14 · 2509 阅读 · 0 评论 -
链栈的算法
一、链栈的相关概念1、定义:链栈是运算受限的单链表,只能在链表头部进行操作。2、特点:●链表的头指针就是栈顶●不需要头结点●基本不存在栈满的情况●空栈相当于头指针指向空●插入和删除仅在栈顶处执行●链栈中的指针方向是由栈顶依次指向栈底,如下图所示:二、定义链栈的数据类型typedef struct StackNode{ElemType data;struct StackNode *next;}StackNode ,*LinkStack;...原创 2022-04-20 20:59:21 · 542 阅读 · 0 评论 -
顺序栈的算法
一、顺序栈的存储方式和相关概念1、存储方式:同一般线性表的顺序存储结构完全相同,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,栈底一般在低地址端。2、相关概念①附设top指针,指向栈顶元素在顺序栈中的位置。为了方便操作,通常top指示真正的栈顶元素之上的下标地址。②另设base指针,指向栈底元素在顺序栈中的位置。③另外,用stacksize表示栈可使用的最大容量 。结构图如下图所示:3、空栈和栈满的条件①空栈:base==top是栈空标志。②栈满:top-原创 2022-04-19 19:26:27 · 1900 阅读 · 0 评论 -
栈和队列的初步认识
一、栈的定义和特点1、定义:栈(stack) 是一个特殊的线性表,是限定仅在一端(通常是表尾)进行插入和删除操作的线性表。又称为后进先出的线性表,简称LIFO结构。2、栈的相关概念:①栈是仅在表尾进行插入、删除操作的线性表②表尾称为栈顶Top,表头称为栈底Base。③插入元素到栈顶(即表尾)的操作,称为入栈。④从栈顶(即表尾)删除最后个元素的操作, 称为出栈。3、栈的常见应用:由于栈的操作具有后进先出的固有特性,使得栈成为程序设计中的有用工具。另外,如果问题求解的过程具有"后进先原创 2022-04-21 10:25:48 · 299 阅读 · 0 评论