知识大全 链队列
Posted 结点
篇首语:少年恃险若平地,独倚长剑凌清秋。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 链队列相关的知识,希望对你有一定的参考价值。
链队列
链队列的定义 队列的链式存储结构简称为链队列 它是限制仅在表头删除和表尾插入的单链表
链队列的结构类型说明
注意 增加指向链表上的最后一个结点的尾指针 便于在表尾做插入操作 链队列示意图见上图 图中Q为LinkQueue型的指针
链队列的基本运算( ) 置空队 void InitQueue(LinkQueue *Q) Q >front=Q >rear=NULL; ( ) 判队空 intQueueEmpty(LinkQueue *Q) return Q >front==NULL&&Q >rear==Null; //实际上只须判断队头指针是否为空即可
( ) 入队 void EnQueue(LinkQueue *Q DataType x) //将元素x插入链队列尾部 QueueNode *p=(QueueNode *)malloc(sizeof(QueueNode));//申请新结点 p >data=x; p >next=NULL; if(QueueEmpty(Q)) Q >front=Q >rear=p; //将x插入空队列 else //x插入非空队列的尾 Q >rear >next=p; //*p链到原队尾结点后 Q >rear=p; //队尾指针指向新的尾
( ) 出队 DataType DeQueue (LinkQueue *Q) DataType x; QueueNode *p; if(QueueEmpty(Q)) Error( Queue underflow );//下溢 p=Q >front; //指向对头结点 x=p >data; //保存对头结点的数据 Q >front=p >next; //将对头结点从链上摘下 if(Q >rear==p)//原队中只有一个结点 删去后队列变空 此时队头指针已为空 Q >rear=NULL; free(p); //释放被删队头结点 return x; //返回原队头数据
cha138/Article/program/sjjg/201311/22680相关参考
基本概念 队列的链式存储结构称为链队列它是限制仅在表头删除和表尾插入的单链表 一个链队列由一个头指针和一个尾指针唯一地确定 实现链队列上的六种基本运算 置空队 判队空
希赛教育计算机专业考研专业课辅导招生 希赛教育计算机专业考研专业课辅导视频 希赛教育计算机考研专业课在线测试系统 一般情况下出队列的操作只涉及队头元素因此不需要修改队尾指针但当链队列中只有一
希赛教育计算机专业考研专业课辅导招生 希赛教育计算机专业考研专业课辅导视频 希赛教育计算机考研专业课在线测试系统 删除当前队列Q中的头元素cha138/Article/progra
希赛教育计算机专业考研专业课辅导招生 希赛教育计算机专业考研专业课辅导视频 希赛教育计算机考研专业课在线测试系统 插入元素e为新的队列尾元素cha138/Article/progr
链栈 栈的链式存储结构称为链栈 链栈的类型定义 链栈是没有附加头结点的运算受限的单链表栈顶指针就是链表的头指针 > 链栈的类型说明如下 typedefstructstacknode
(三)栈的链式存储结构 栈的链式存储结构栈顶指针就是链表的头指针 ①入栈操作 p>next=top;top=p ②出栈操作 q=top;top=to
知识大全 数据结构考研分类复习真题 第三章 栈和队列[13]
已知链队列的头尾指针分别是f和r则将值x入队的操作序列是_______【合肥工业大学三(分)】 .区分循环队列的满与空只有两种方法它们是______和______【北京邮电大学二(分)】 .设
知识大全 数据结构考研分类复习真题 第三章 栈和队列[23]
设计一个算法判断一个算术表达式中的括号是否配对算术表达式保存在带头结点的单循环链表中每个结点有两个域ch和link其中ch域为字符类型【南京邮电大学五】 请利用两个栈S和S来模拟一个队列已知栈的
类似于表插入排序附设指针数组将顺序表视作一个静态链表利用修改指针实现分配和收集同时设置rd个队列的头指针和尾指针分别指示各队列的头结点和尾结点在链表中的位置 首先初始化空队列即将每个队列的头指针
[题目分析]本题要求用链接结构实现一个队列我们可用链表结构来实现一般说由于队列的先进先出性质所以队列常设队头指针和队尾指针但题目中仅给出一个全局指针p且要求入队和出队操作的时间复杂性是O()因此我