deck 接口实现

Deque是一种双端队列,支持两端插入和移除元素。Deque接口提供了一系列方法,包括addFirst、addLast、removeFirst等,实现了栈和队列的功能。本文详细介绍了Deque的各种操作及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Deque接口

通常发音为deck,deque是双端队列。双端队列是元素的线性集合,支持在两个端点处插入和移除元素。该Deque接口比两者更丰富的抽象数据类型StackQueue,因为它在同一时间同时实现堆栈和队列。的 Deque界面,定义方法来访问在所述的两端的元件Deque的实例。提供了插入,移除和检查元素的方法。预定义的类喜欢 ArrayDeque并 LinkedList实现Deque接口。

请注意,该Deque接口既可以用作后进先出堆栈,也可以用作先进先出队列。Deque界面中给出的方法分为三个部分:

addfirstofferFirst方法插入在年初元素Deque实例。方法addLastofferLast插入元素在Deque实例的末尾。当Deque实例的容量受到限制时,首选方法是offerFirstofferLast因为addFirst如果它已满,可能无法抛出异常。

去掉

removeFirstpollFirst方法去除从年初的元素Deque实例。的removeLastpollLast的方法除去从端部元件。方法pollFirst 并pollLast返回null如果Deque为空而方法removeFirstremoveLastDeque实例为空时抛出异常。

取回

方法getFirstpeekFirst检索Deque实例的第一个元素。这些方法不会从Deque实例中删除值。同样,方法getLast 和peekLast检索最后一个元素。这些方法getFirstgetLast是否抛出一个异常 deque情况下是空的,而方法peekFirstpeekLast 回报NULL

下面列出了12种Deque元素的插入,移除和翻新方法:

Deque方法
操作类型第一个元素(Deque实例的开头)最后一个元素(Deque实例结束)
addFirst(e)
offerFirst(e)
addLast(e)
offerLast(e)
去掉removeFirst()
pollFirst()
removeLast()
pollLast()
检查getFirst()
peekFirst()
getLast()
peekLast()

除了插入,删除和检查Deque实例的这些基本方法之外,该Deque接口还具有一些更预定义的方法。其中之一是removeFirstOccurence,如果指定元素存在于Deque实例中,则此方法将删除指定元素的第一个出现。如果元素不存在,则Deque实例保持不变。另一种类似的方法是removeLastOccurence; 此方法删除Deque实例中指定元素的最后一次出现。这些方法的返回类型是booleantrue如果元素存在于Deque实例中,它们将返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值