第二章 队列(3) 顺序存储结构

1、队列(Queue):是一种特殊的线性表(数据元素之间的关系是线性关系),其插入、删除分别在表的两端进行,一端只能插入,另一端只能删除。

2、术语

队首(front):进行删除的一端;

队尾(rear):进行插入的一端;

入队:在队尾插入一个元素;

出队:在队首删除一个元素;

3、特点

由于限制了插入、删除分别在两端进行,那么元素的操作顺序有“先进先出”或“后进后出”的特点(First In First Out-FIFO Last in Last Out-LILO)

4、操作

1)队列的初始化Iniqueue(Q):将队列置为空;

2)入队Enqueue(Q):即在队尾插入一个元素;

3)出队Dlqueue(Q):即在队首删除一个元素;

4)取队首元素Gethead(Q):访问队首元素;

5)判断队列是否空Empty(Q):判断队列是否为空;

6)求队列的大小Current_size(Q):求队列中元素个数;

7)队列清空Clear(Q):将队列清为空。

5、ADT

ADT Queue
{
    data structure:
    D={ai|ai∈DO i=2,3,4,...}
    R={N}
    N={<ai-1,ai>|ai-1,ai∈D0 i=2,3,4,...}
    D0某个对象
    operations:
    Iniqueue(Q);Enqueue(Q);Dlqueue(Q);
    Gethead(Q);Empty(Q);Current_size(Q);
    clear(Q);
}

 

6、存储方式:同一般线性表的顺序存储结构完全相同。但是由于在两端扣作,设两个指示器,(rear和front)

分别佛示队列的尾和首。

特别约定头指针始终指向队列头元素,而尾指针始终指向队列尾元素的下一位置!

空队列:rear=front=0

入队:rear=rear+1

出队:front=fornt+1

队列空:rear=front=0

 

7、循环队列的ADT

8、队列的链式存储结构

posted on 2014-04-13 21:32 ii沙漠 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/shamoof/p/3662806.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值