码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构复习_队列、循环对列

时间:2015-02-18 14:07:38      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

类别    数据结构

 

1、主题

2、学习视频和资料

视频及课件    http://www.icourse163.org/learn/zju-93001?tid=120001#/learn/content?type=detail&id=398005

 

3、队列的基本操作

  1. 定义队列元素
  2. 建立队列信息(队首和队尾标记,总长度)
  3. 初始化队列
  4. 销毁队列
  5. 插入(只能在尾部,判断是否溢出)(入队)
  6. 删除(只能在头部,判断对列是否为空)(出队)

4、存储(实现结构)

  1. 顺序存储——连续内存,如数组
  2. 链式存储

5、循环对列

插入后指针的移动rear = (rear + 1) mod size;

判断是否为空 (front + 1) mod size == rear

(2)循环对列为什么会出现空、满无法区分?根本原因?

解决方案 :使用额为标记,如size存放的元素个数

最多只放n-1个元素,n-1时即为满(一般采取这种方案

6、队列的单向链表存储实现的注意点

front 和rear指针与单向链表头尾如和对应?

front做删除操作, rear做插入操作

链表的头做删除和插入操作都方便

单向链表的尾适合做插入操作,不适合做删除操作(不是双向链表,不方便找到前一个),删除后不知道前面一个在哪里。

所以,单向链表的尾只能放rear,相应头放front。

技术分享

技术分享

6、代码

7、后记

有问题可邮件378632668@qq.com,欢迎讨论!

数据结构复习_队列、循环对列

标签:

原文地址:http://blog.csdn.net/wzwdcld/article/details/43876643

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!