logo

您所在位置网站首页 > 海量文档  > 教学课件 > 大学课件

数据结构解说演示课件.ppt 10页

版权归作者和本站网站所有,维权必究

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利

文档说明

此文档为付费文档,你可以预览5页,更多阅读请点击 “付费阅读请进”!
下载地址
需要金币:100    文档纠错   收藏文档   下载帮助
支付并下载
特别说明: 有些用户上传的内容不全,请特别注意,预览的内容=实际下载的内容。
  • 上传用户 日度(上传创作收益人)
  • 上传时间:2018-01-13
  • 需要金币100(10金币=人民币1元)
  • 浏览人气
  • 下载次数
  • 收藏次数
  • 文件大小:973 KB
下载过该文档的会员
作者姓名:**庚
个人介绍:本人擅长于医学与电子,热爱运动
你可能关注的文档:
3.3 队列的链式存储及实现 链式队列的类型描述如下: /*结点类型定义*/ typedef struct QNode { DataType data; struct QNode * next; } QueueNode; /*队列类型定义*/ typedef struct { QueueNode * front; //队头指针 QueueNode * rear; //队尾指针 }LinkQueue; //队列类型 LinkQueue Q; //定义一链对列Q 3.3 队列的链式存储及实现 一个不带头结点的链式队列和带头结点的链队列分别如图3.12、图3.13所示。 3.3 队列的链式存储及实现 对于带头结点的链式队列,当队列为空时,队头指针front和队尾指针rear都指向头结点。如图3.14所示。 链式队列中,插入和删除操作只需要移动队头指针和队尾指针,这两种操作的指针变化如图3.13、图3.16和图3.17所示。图3.13表示在队列中插入元素a的情况,图3.16表示队列中插入了元素a,b,c之后的情况,图3.17表示元素a出队列的情况。 3.3 队列的链式存储及实现 3.3.2 链式队列的基本运算 链式队列的基本运算算法实现如下。 (1)初始化队列。 void InitQueue(LinkQueue *Q) /*初始化链式队列*/ { Q->front=(QueueNode*)malloc(sizeof(QueueNode)); Q->rear =Q->front; Q ->rear->next=NULL; /*把头结点的指针域置为null*/ } 3.3 队列的链式存储及实现 (2)判断队列是否为空。 int QueueEmpty(LinkQueue *Q) { return Q->rear==Q->front; //头尾指针相等队列为空 } 3.3 队列的链式存储及实现 (3)将元素x入队。先为新结点申请一个空间,然后将x赋给数据域,并使原队尾元素结点的指针域指向新结点,队尾指针指向新结点,从而将结点加入队列中。操作过程如图3.20所示。 将元素x入队的算法实现如下。 void EnQueue(LinkQueue *Q, DataType x) /*将元素x插入到链式队列尾部*/ { QueueNode *p=(QueueNode*)malloc(sizeof(QueueNode)); p->data=x; //将元素值赋值给结点的数据域 p->next=NULL; //将结点的指针域置为空 Q->rear->next=p; //将原来队列的队尾指针指向p Q->rear=p; //将队尾指针指向p } 3.3 队列的链式存储及实现 3.3 队列的链式存储及实现 (4)取队头元素。 DataType GetFront (LinkQueue *Q) { if(QueueEmpty(Q)) { printf(“Queue underflow”); exit(0); }else return Q->front->next-data; } 3.3 队列的链式存储及实现 (5)出队列。 DataType DeQueue(LinkQueue *Q) { QueueNode *p; if(QueueEmpty(Q)) //判断链式队列是否为空 return 0; else { p=Q->front; //使指针p指向头结点 Q->front=Q->front->next; //头指针指向原队列头结点 free(p); //释放原头结点 return(Q->front->data); //返回原对头结点的数据 } } 3.3 队列的链式存储及实现 3.3 队列的链式存储及实现 2.链式循环队

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片



©2010-2013 max.book118.com在线文档投稿赚钱网. All Rights Reserved 蜀ICP备08101938号