- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
顺序队列取队头元素 datatype FRONT(sequeue *sq) { if (EMPTY(sq)) { printf(“queue is empty\n”);return NULL;} else return (sq-front+1)%maxsize; } 顺序队列入队 int ENQUEUE(sequeue *sq,datatype x) { if (sq-front==(sq-rear+1)%maxsize) {printf(“sequeue is full\n”;return NULL);} else { sq-rear=(sq-rear+1)%maxsize; sq-data[sq-rear]=x; return(TRUE); } } 顺序队列出队 datetype DEQUEUE(sequeue *sq) { if (EMPTY(sq)) {printf(“queue is empty\n”);return NULL;} else { sq-front=(sq-front+1)%maxsize; return(sq-data[sq-front]); } } 存储队列的数组被当作首尾相接的表处理。 队头、队尾指针加1时从maxSize -1直接进到0,可用语言的取模(余数)运算实现。 队头指针进1: front = (front + 1) % maxSize; 队尾指针进1: rear = (rear + 1) % maxSize; 队列初始化:front = rear = 0; 队空条件:front == rear; 队满条件:(rear + 1) % maxSize == front 循环队列 (Circular Queue) 循环队列的进队和出队 队列的链接表示 — 链式队列 队头在链头,队尾在链尾。 链式队列在进队时无队满问题,但有队空问题。 队空条件为 front == NULL 链队列结点类型定义 typedef struct { linklist *front,*rear; } linkqueue; 链队列置队空 SETNULL(linkqueue *q) { q-front=malloc(sizeof(linklist)); q-front-next=NULL; q-rear=q-front; } 链队列判队空 int EMPTY(linkqueue *q) { if q-front==q-rear) return(TRUE); else return(FALSE); } 链队列取队头结点 datatype FRONT(linkqueue *q) { if (EMPTY(q)) {printf(“queue is empty\n”);return NULL;} else return(q-front-next-data); } 链队列入队 ENQUEUE(linkqueue *q,datatype x) { q-rear-next=malloc(sizeof(linklist)); q-rear=q-rear-next; q-rear-data=x; q-rear-next=NULL; } 链队列出队 datatype DEQUEUE(linkqueue *q) { linklist *s; if (EMPTY(q)) {printf(“queue is empty\n”);return NULL;} else { s=q-front; q-front=q-front-next; free(s); return(q-front-data); } } 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 队列的应用举例--求迷宫的最短路径 x y 0 0 +1 1 +1 +1 2 +1 0 3 +1 -1 4 0 -1 5 -1 -1 6 -1 0 7 -1 +1 需要解决的问题1:如何从某一坐标点出发搜索其四周的邻点 需要解决的问题2:如何存储搜索路径 需要解决的问题3:如何防止重复到达某坐标点 步 x y pre 1 1 1 0 2 2 2 1 3
您可能关注的文档
- 数控机床加工技术课件教学课件作者余英良单元5数控加工的切削用量课件幻灯片.ppt
- 数据库系统原理课件及习题chp3总结复习幻灯片.ppt
- 数据库系统原理课件及习题chp3总结幻灯片.ppt
- 数据库系统原理课件及习题chp4-5习题幻灯片.ppt
- 数控机床加工技术课件教学课件作者余英良单元7:数控铣削加工工艺幻灯片.ppt
- 数据库系统原理课件及习题第3章SQL安装与配置幻灯片.ppt
- 数据绑定幻灯片.ppt
- 数据报套接字课件幻灯片.ppt
- 数控机床加工技术课件教学课件作者余英良单元7数控铣削加工工艺课件幻灯片.ppt
- 数据报文分析实验详解幻灯片.pptx
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
最近下载
- 机械制造基础-全套PPT课件.pptx
- 地域建筑的分析__--__纳西族传统民居的现代启示.pdf
- 湖北省武汉市2023-2024学年六年级上学期语文期中试卷(含答案).pdf VIP
- 露天非煤矿山企业重大事古隐患认定目录及企业待检资料清单.doc
- 网络工程师职业规划4篇.pdf VIP
- 四年级音乐上册 牧童ppt课件1 人教新课标版.ppt
- 浙教版(2023)信息科技三上第2课感知智能生活教案.pdf VIP
- 中央空调节能运行管理.ppt
- 河北省石家庄市第四十一中学教育集团2023-2024学年七年级上学期期中历史试题(1).docx
- 《什么是冬天》儿童绘本故事演讲ppt课件(图文).ppt
文档评论(0)