Queue
队列集合在集合的基础上添加了增删改查操作,并且队列默认使用FIFO(先进先出)规则。
Queue抽象数据模型
ADT Queue
Data 数据集合为{a1,a2,a3...an},数据类型都是DataType,保证数据的顺序便于按照顺序处理,一般为先进先出(FIFO);
Operations
InitQueue(); 初始化一个空队列
PollQueue(); 删除队列的头部元素,并返回其值
ClearQueue(); 清空队列的元素
QueueEmpty(); 判断队列是否为空
OfferQueue(DataType d); 将元素d添加到队尾
QueueLength(); 队列的长度
Queue接口
队列的主要特点是在基本的集合方法之外,还提供特殊的插入、获取和检验操作。每个操作都提供两个方法,一种返回异常,一种返回null或者false.
队列一般满足先进先出规则(FIFO),除了优先队列(priority queue)和栈(stack),但是栈是FILO(先进后出规则),优先队列自己定义了排序规则。
队列不允许插入null元素,但是LinkedList可以
- add(E e) 插入一个元素到队列中,失败时返回IllegalStateException (队列容量不够)
- element() 返回队列头部的元素
- offer(E e) 插入一个元素到队列中,失败时返回false