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
15-02.24
第二章 队列(3) 顺序存储结构,布布扣,bubuko.com
原文:http://www.cnblogs.com/shamoof/p/3662806.html