【郝斌数据结构自学笔记】35-46_队列的定义、分类_链式队列伪算法的讲解_循环队列伪算法的讲解
来源:互联网 发布:mac怎么下qq游戏大厅 编辑:程序博客网 时间:2024/04/29 09:50
35 _ 队列1 _什么是队列
线性结构的两种常见应用之二 队列
定义:
一种可以实现“先进先出”的存储结构
36 _ 队列2 _队列的分类 和 链式队列伪算法的讲解
分类:
链式队列:用链表实现
静态队列:用数组实现
37 _ 队列3 _学习循环队列必须要弄清楚的7个问题概述
静态队列
静态队列通常都必须是循环队列
循环队列的讲解:
1)静态队列为什么必须是循环队列
2)循环队列需要几个参数来确定
3)循环队列各个参数的含义
4)循环队列入队伪算法讲解
5)循环队列出队伪算法讲解
6)如何判断循环队列是否为空
7)如何判断循环队列是否已满
38 _ 队列4 _静态队列为什么必须是循环队列
如果要删除元素(出队),f只能加;如果要增加元素(入队),r只能加。(按照一般数组的方法)。r指向当前队列的下一个位置。
39 _ 队列5 _循环队列需要几个参数来确定及其含义的讲解
需要2个参数来确定
front
rear
两个参数不同场合有不同的含义
建议初学者先记住,然后慢慢体会
1)队列初始化
front和rear的值都是零
2)队列非空
front代表的是队列的第一个元素,rear代表的是队列的最后一个有效元素的下一个元素
3)队列空
front和rear的值相等,但不一定是零
40 _ 队列6 _循环队列各个参数的含义
41 _ 队列7 _循环队列入队伪算法讲解
两步完成:
1.将值存入r所代表的位置
2.错误的写法:r=r+1;
正确写法是:r=(r+1)%数组的长度
42 _ 队列8 _循环队列出队伪算法讲解
f=(f+1)%数组的长度
43 _ 队列9 _如何判断循环队列是否为空
如果front于rear的值相等,则该队列就一定为空。
44 _ 队列10 _如何判断循环队列是否已满
若f、r相等,不知道队列到底是空还是满。
预备知识:
front的值可能比rear大,也可能比rear小,也可能两者相等。
如何判断循环队列是否已满
两种方式:
1.多增加一个标志参数
2.少用一个元素【通常使用第二种方式】
如何判断队列已满:如果f和r的值紧挨着,则队列已满
用C语言伪算法表示就是:
if((r+1)%数组长度==f)
已满
else
不满
45 _ 复习 _求链表的长度
46 _ 复习上节课队列知识
队列
定义:一种可以实现先进先出的存储结构
分类:
静态队列
链式队列
- 【郝斌数据结构自学笔记】35-46_队列的定义、分类_链式队列伪算法的讲解_循环队列伪算法的讲解
- 【郝斌数据结构自学笔记】47-49_循环队列程序演示 _ 队列的具体应用
- 数据结构的C实现_链式队列
- 数据结构的C实现_循环队列
- 数据结构的C实现_循环队列
- 【郝斌数据结构自学笔记】60-65_树的定义_树的专业术语解释_树的分类_二叉树连续存【重点】_二叉树的链式存储_普通树的存储
- 数据结构_循环队列
- 数据结构_循环队列
- 17_队列的链式存储
- PHP数据结构之七_队列的链式存储和队列的基本操作
- 【郝斌数据结构自学笔记】30-34_栈的定义_栈的分类_栈程序演示_栈的日常具体应用
- 【数据结构_队列_Queue_0965】循环队列
- 数据结构和算法--队列的链式实现
- 数据结构_实验3:队列的应用
- 14-数据结构_队列-算法实现
- 数据结构与算法系列-队列-队列的链式存储
- 数据结构_队列_迷宫的最短路径
- 数据结构与算法总结3_常用的数据结构(背包,栈和队列)
- python装饰器
- Android 属性动画
- MongoDB——运维技术
- Android图片色彩变幻
- 【汇编】sar与shr的坑爹之旅。
- 【郝斌数据结构自学笔记】35-46_队列的定义、分类_链式队列伪算法的讲解_循环队列伪算法的讲解
- 忆夏、秋冬
- gulp项目搭建
- 游戏项目创业如何走
- AJAX中讨论post与get请求的区别
- iOS9下使用FMDB出现Undefined symbols for architecture i386: "_NSFileTypeForHFSTypeCode",
- jquery语法(3)事件
- PHP入门(9)-命名空间(namespace)
- 学习设计模式的一些注意事项