@ -2062,7 +2062,7 @@
< a id = "__codelineno-10-12" name = "__codelineno-10-12" href = "#__codelineno-10-12" > < / a > < span class = "cm" > /* 基于双向链表实现的双向队列 */< / span >
< a id = "__codelineno-10-13" name = "__codelineno-10-13" href = "#__codelineno-10-13" > < / a > < span class = "kd" > class< / span > < span class = "nc" > LinkedListDeque< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-10-14" name = "__codelineno-10-14" href = "#__codelineno-10-14" > < / a > < span class = "w" > < / span > < span class = "kd" > private< / span > < span class = "w" > < / span > < span class = "n" > ListNode< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 头结点 front ,尾结点 rear< / span >
< a id = "__codelineno-10-15" name = "__codelineno-10-15" href = "#__codelineno-10-15" > < / a > < span class = "w" > < / span > < span class = "kd" > private< / span > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > s ize< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "mi" > 0< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 双向队列的长度< / span >
< a id = "__codelineno-10-15" name = "__codelineno-10-15" href = "#__codelineno-10-15" > < / a > < span class = "w" > < / span > < span class = "kd" > private< / span > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > queS ize< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "mi" > 0< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 双向队列的长度< / span >
< a id = "__codelineno-10-16" name = "__codelineno-10-16" href = "#__codelineno-10-16" > < / a >
< a id = "__codelineno-10-17" name = "__codelineno-10-17" href = "#__codelineno-10-17" > < / a > < span class = "w" > < / span > < span class = "kd" > public< / span > < span class = "w" > < / span > < span class = "nf" > LinkedListDeque< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-10-18" name = "__codelineno-10-18" href = "#__codelineno-10-18" > < / a > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "kc" > null< / span > < span class = "p" > ;< / span >
@ -2070,7 +2070,7 @@
< a id = "__codelineno-10-20" name = "__codelineno-10-20" href = "#__codelineno-10-20" > < / a >
< a id = "__codelineno-10-21" name = "__codelineno-10-21" href = "#__codelineno-10-21" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 获取双向队列的长度 */< / span >
< a id = "__codelineno-10-22" name = "__codelineno-10-22" href = "#__codelineno-10-22" > < / a > < span class = "w" > < / span > < span class = "kd" > public< / span > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "nf" > size< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-10-23" name = "__codelineno-10-23" href = "#__codelineno-10-23" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > s ize< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-10-23" name = "__codelineno-10-23" href = "#__codelineno-10-23" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > queS ize< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-10-24" name = "__codelineno-10-24" href = "#__codelineno-10-24" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-10-25" name = "__codelineno-10-25" href = "#__codelineno-10-25" > < / a >
< a id = "__codelineno-10-26" name = "__codelineno-10-26" href = "#__codelineno-10-26" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 判断双向队列是否为空 */< / span >
@ -2097,7 +2097,7 @@
< a id = "__codelineno-10-47" name = "__codelineno-10-47" href = "#__codelineno-10-47" > < / a > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "p" > .< / span > < span class = "na" > prev< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-10-48" name = "__codelineno-10-48" href = "#__codelineno-10-48" > < / a > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新尾结点< / span >
< a id = "__codelineno-10-49" name = "__codelineno-10-49" href = "#__codelineno-10-49" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-10-50" name = "__codelineno-10-50" href = "#__codelineno-10-50" > < / a > < span class = "w" > < / span > < span class = "n" > s ize< / span > < span class = "o" > ++< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新队列长度< / span >
< a id = "__codelineno-10-50" name = "__codelineno-10-50" href = "#__codelineno-10-50" > < / a > < span class = "w" > < / span > < span class = "n" > queS ize< / span > < span class = "o" > ++< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新队列长度< / span >
< a id = "__codelineno-10-51" name = "__codelineno-10-51" href = "#__codelineno-10-51" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-10-52" name = "__codelineno-10-52" href = "#__codelineno-10-52" > < / a >
< a id = "__codelineno-10-53" name = "__codelineno-10-53" href = "#__codelineno-10-53" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 队首入队 */< / span >
@ -2137,7 +2137,7 @@
< a id = "__codelineno-10-87" name = "__codelineno-10-87" href = "#__codelineno-10-87" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-10-88" name = "__codelineno-10-88" href = "#__codelineno-10-88" > < / a > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > rPrev< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新尾结点< / span >
< a id = "__codelineno-10-89" name = "__codelineno-10-89" href = "#__codelineno-10-89" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-10-90" name = "__codelineno-10-90" href = "#__codelineno-10-90" > < / a > < span class = "w" > < / span > < span class = "n" > s ize< / span > < span class = "o" > --< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新队列长度< / span >
< a id = "__codelineno-10-90" name = "__codelineno-10-90" href = "#__codelineno-10-90" > < / a > < span class = "w" > < / span > < span class = "n" > queS ize< / span > < span class = "o" > --< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新队列长度< / span >
< a id = "__codelineno-10-91" name = "__codelineno-10-91" href = "#__codelineno-10-91" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > val< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-10-92" name = "__codelineno-10-92" href = "#__codelineno-10-92" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-10-93" name = "__codelineno-10-93" href = "#__codelineno-10-93" > < / a >
@ -2175,9 +2175,139 @@
< / code > < / pre > < / div >
< / div >
< div class = "tabbed-block" >
< div class = "highlight" > < span class = "filename" > linkedlist_deque.cpp< / span > < pre > < span > < / span > < code > < a id = "__codelineno-11-1" name = "__codelineno-11-1" href = "#__codelineno-11-1" > < / a > < span class = "p" > [< / span > < span class = "k" > class< / span > < span class = "p" > ]{< / span > < span class = "n" > ListNode< / span > < span class = "p" > }< / span > < span class = "o" > -< / span > < span class = "p" > [< / span > < span class = "n" > func< / span > < span class = "p" > ]{}< / span >
< a id = "__codelineno-11-2" name = "__codelineno-11-2" href = "#__codelineno-11-2" > < / a >
< a id = "__codelineno-11-3" name = "__codelineno-11-3" href = "#__codelineno-11-3" > < / a > < span class = "p" > [< / span > < span class = "k" > class< / span > < span class = "p" > ]{< / span > < span class = "n" > LinkedListDeque< / span > < span class = "p" > }< / span > < span class = "o" > -< / span > < span class = "p" > [< / span > < span class = "n" > func< / span > < span class = "p" > ]{}< / span >
< div class = "highlight" > < span class = "filename" > linkedlist_deque.cpp< / span > < pre > < span > < / span > < code > < a id = "__codelineno-11-1" name = "__codelineno-11-1" href = "#__codelineno-11-1" > < / a > < span class = "cm" > /* 双向链表结点 */< / span >
< a id = "__codelineno-11-2" name = "__codelineno-11-2" href = "#__codelineno-11-2" > < / a > < span class = "k" > struct< / span > < span class = "w" > < / span > < span class = "nc" > DoubleListNode< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-3" name = "__codelineno-11-3" href = "#__codelineno-11-3" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > val< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 结点值< / span >
< a id = "__codelineno-11-4" name = "__codelineno-11-4" href = "#__codelineno-11-4" > < / a > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > next< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 后继结点指针< / span >
< a id = "__codelineno-11-5" name = "__codelineno-11-5" href = "#__codelineno-11-5" > < / a > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > prev< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 前驱结点指针< / span >
< a id = "__codelineno-11-6" name = "__codelineno-11-6" href = "#__codelineno-11-6" > < / a > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > val< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "o" > :< / span > < span class = "w" > < / span > < span class = "n" > val< / span > < span class = "p" > (< / span > < span class = "n" > val< / span > < span class = "p" > ),< / span > < span class = "w" > < / span > < span class = "n" > prev< / span > < span class = "p" > (< / span > < span class = "k" > nullptr< / span > < span class = "p" > ),< / span > < span class = "w" > < / span > < span class = "n" > next< / span > < span class = "p" > (< / span > < span class = "k" > nullptr< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {}< / span >
< a id = "__codelineno-11-7" name = "__codelineno-11-7" href = "#__codelineno-11-7" > < / a > < span class = "p" > };< / span >
< a id = "__codelineno-11-8" name = "__codelineno-11-8" href = "#__codelineno-11-8" > < / a >
< a id = "__codelineno-11-9" name = "__codelineno-11-9" href = "#__codelineno-11-9" > < / a > < span class = "cm" > /* 基于双向链表实现的双向队列 */< / span >
< a id = "__codelineno-11-10" name = "__codelineno-11-10" href = "#__codelineno-11-10" > < / a > < span class = "k" > class< / span > < span class = "w" > < / span > < span class = "nc" > LinkedListDeque< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-11" name = "__codelineno-11-11" href = "#__codelineno-11-11" > < / a > < span class = "k" > private< / span > < span class = "o" > :< / span >
< a id = "__codelineno-11-12" name = "__codelineno-11-12" href = "#__codelineno-11-12" > < / a > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > front< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > rear< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 头结点 front ,尾结点 rear< / span >
< a id = "__codelineno-11-13" name = "__codelineno-11-13" href = "#__codelineno-11-13" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "mi" > 0< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 双向队列的长度< / span >
< a id = "__codelineno-11-14" name = "__codelineno-11-14" href = "#__codelineno-11-14" > < / a >
< a id = "__codelineno-11-15" name = "__codelineno-11-15" href = "#__codelineno-11-15" > < / a > < span class = "k" > public< / span > < span class = "o" > :< / span >
< a id = "__codelineno-11-16" name = "__codelineno-11-16" href = "#__codelineno-11-16" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 构造方法 */< / span >
< a id = "__codelineno-11-17" name = "__codelineno-11-17" href = "#__codelineno-11-17" > < / a > < span class = "w" > < / span > < span class = "n" > LinkedListDeque< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "o" > :< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "p" > (< / span > < span class = "k" > nullptr< / span > < span class = "p" > ),< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "p" > (< / span > < span class = "k" > nullptr< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {}< / span >
< a id = "__codelineno-11-18" name = "__codelineno-11-18" href = "#__codelineno-11-18" > < / a >
< a id = "__codelineno-11-19" name = "__codelineno-11-19" href = "#__codelineno-11-19" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 析构方法 */< / span >
< a id = "__codelineno-11-20" name = "__codelineno-11-20" href = "#__codelineno-11-20" > < / a > < span class = "w" > < / span > < span class = "o" > ~< / span > < span class = "n" > LinkedListDeque< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-21" name = "__codelineno-11-21" href = "#__codelineno-11-21" > < / a > < span class = "w" > < / span > < span class = "c1" > // 释放内存< / span >
< a id = "__codelineno-11-22" name = "__codelineno-11-22" href = "#__codelineno-11-22" > < / a > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > pre< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > cur< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-23" name = "__codelineno-11-23" href = "#__codelineno-11-23" > < / a > < span class = "w" > < / span > < span class = "k" > while< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > cur< / span > < span class = "w" > < / span > < span class = "o" > !=< / span > < span class = "w" > < / span > < span class = "k" > nullptr< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-24" name = "__codelineno-11-24" href = "#__codelineno-11-24" > < / a > < span class = "w" > < / span > < span class = "n" > pre< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > cur< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-25" name = "__codelineno-11-25" href = "#__codelineno-11-25" > < / a > < span class = "w" > < / span > < span class = "n" > cur< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > cur< / span > < span class = "o" > -> < / span > < span class = "n" > next< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-26" name = "__codelineno-11-26" href = "#__codelineno-11-26" > < / a > < span class = "w" > < / span > < span class = "k" > delete< / span > < span class = "w" > < / span > < span class = "n" > pre< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-27" name = "__codelineno-11-27" href = "#__codelineno-11-27" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-28" name = "__codelineno-11-28" href = "#__codelineno-11-28" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-29" name = "__codelineno-11-29" href = "#__codelineno-11-29" > < / a >
< a id = "__codelineno-11-30" name = "__codelineno-11-30" href = "#__codelineno-11-30" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 获取双向队列的长度 */< / span >
< a id = "__codelineno-11-31" name = "__codelineno-11-31" href = "#__codelineno-11-31" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > size< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-32" name = "__codelineno-11-32" href = "#__codelineno-11-32" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-33" name = "__codelineno-11-33" href = "#__codelineno-11-33" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-34" name = "__codelineno-11-34" href = "#__codelineno-11-34" > < / a >
< a id = "__codelineno-11-35" name = "__codelineno-11-35" href = "#__codelineno-11-35" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 判断双向队列是否为空 */< / span >
< a id = "__codelineno-11-36" name = "__codelineno-11-36" href = "#__codelineno-11-36" > < / a > < span class = "w" > < / span > < span class = "kt" > bool< / span > < span class = "w" > < / span > < span class = "n" > isEmpty< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-37" name = "__codelineno-11-37" href = "#__codelineno-11-37" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > size< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "o" > ==< / span > < span class = "w" > < / span > < span class = "mi" > 0< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-38" name = "__codelineno-11-38" href = "#__codelineno-11-38" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-39" name = "__codelineno-11-39" href = "#__codelineno-11-39" > < / a >
< a id = "__codelineno-11-40" name = "__codelineno-11-40" href = "#__codelineno-11-40" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 入队操作 */< / span >
< a id = "__codelineno-11-41" name = "__codelineno-11-41" href = "#__codelineno-11-41" > < / a > < span class = "w" > < / span > < span class = "kt" > void< / span > < span class = "w" > < / span > < span class = "n" > push< / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "kt" > bool< / span > < span class = "w" > < / span > < span class = "n" > isFront< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-42" name = "__codelineno-11-42" href = "#__codelineno-11-42" > < / a > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > node< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "k" > new< / span > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "p" > (< / span > < span class = "n" > num< / span > < span class = "p" > );< / span >
< a id = "__codelineno-11-43" name = "__codelineno-11-43" href = "#__codelineno-11-43" > < / a > < span class = "w" > < / span > < span class = "c1" > // 若链表为空,则令 front, rear 都指向 node< / span >
< a id = "__codelineno-11-44" name = "__codelineno-11-44" href = "#__codelineno-11-44" > < / a > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > isEmpty< / span > < span class = "p" > ())< / span >
< a id = "__codelineno-11-45" name = "__codelineno-11-45" href = "#__codelineno-11-45" > < / a > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-46" name = "__codelineno-11-46" href = "#__codelineno-11-46" > < / a > < span class = "w" > < / span > < span class = "c1" > // 队首入队操作< / span >
< a id = "__codelineno-11-47" name = "__codelineno-11-47" href = "#__codelineno-11-47" > < / a > < span class = "w" > < / span > < span class = "k" > else< / span > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > isFront< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-48" name = "__codelineno-11-48" href = "#__codelineno-11-48" > < / a > < span class = "w" > < / span > < span class = "c1" > // 将 node 添加至链表头部< / span >
< a id = "__codelineno-11-49" name = "__codelineno-11-49" href = "#__codelineno-11-49" > < / a > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "o" > -> < / span > < span class = "n" > prev< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-50" name = "__codelineno-11-50" href = "#__codelineno-11-50" > < / a > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "o" > -> < / span > < span class = "n" > next< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-51" name = "__codelineno-11-51" href = "#__codelineno-11-51" > < / a > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新头结点< / span >
< a id = "__codelineno-11-52" name = "__codelineno-11-52" href = "#__codelineno-11-52" > < / a > < span class = "w" > < / span > < span class = "c1" > // 队尾入队操作< / span >
< a id = "__codelineno-11-53" name = "__codelineno-11-53" href = "#__codelineno-11-53" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span > < span class = "w" > < / span > < span class = "k" > else< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-54" name = "__codelineno-11-54" href = "#__codelineno-11-54" > < / a > < span class = "w" > < / span > < span class = "c1" > // 将 node 添加至链表尾部< / span >
< a id = "__codelineno-11-55" name = "__codelineno-11-55" href = "#__codelineno-11-55" > < / a > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "o" > -> < / span > < span class = "n" > next< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-56" name = "__codelineno-11-56" href = "#__codelineno-11-56" > < / a > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "o" > -> < / span > < span class = "n" > prev< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-57" name = "__codelineno-11-57" href = "#__codelineno-11-57" > < / a > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新尾结点< / span >
< a id = "__codelineno-11-58" name = "__codelineno-11-58" href = "#__codelineno-11-58" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-59" name = "__codelineno-11-59" href = "#__codelineno-11-59" > < / a > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "o" > ++< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新队列长度< / span >
< a id = "__codelineno-11-60" name = "__codelineno-11-60" href = "#__codelineno-11-60" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-61" name = "__codelineno-11-61" href = "#__codelineno-11-61" > < / a >
< a id = "__codelineno-11-62" name = "__codelineno-11-62" href = "#__codelineno-11-62" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 队首入队 */< / span >
< a id = "__codelineno-11-63" name = "__codelineno-11-63" href = "#__codelineno-11-63" > < / a > < span class = "w" > < / span > < span class = "kt" > void< / span > < span class = "w" > < / span > < span class = "n" > pushFirst< / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-64" name = "__codelineno-11-64" href = "#__codelineno-11-64" > < / a > < span class = "w" > < / span > < span class = "n" > push< / span > < span class = "p" > (< / span > < span class = "n" > num< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "nb" > true< / span > < span class = "p" > );< / span >
< a id = "__codelineno-11-65" name = "__codelineno-11-65" href = "#__codelineno-11-65" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-66" name = "__codelineno-11-66" href = "#__codelineno-11-66" > < / a >
< a id = "__codelineno-11-67" name = "__codelineno-11-67" href = "#__codelineno-11-67" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 队尾入队 */< / span >
< a id = "__codelineno-11-68" name = "__codelineno-11-68" href = "#__codelineno-11-68" > < / a > < span class = "w" > < / span > < span class = "kt" > void< / span > < span class = "w" > < / span > < span class = "n" > pushLast< / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-69" name = "__codelineno-11-69" href = "#__codelineno-11-69" > < / a > < span class = "w" > < / span > < span class = "n" > push< / span > < span class = "p" > (< / span > < span class = "n" > num< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "nb" > false< / span > < span class = "p" > );< / span >
< a id = "__codelineno-11-70" name = "__codelineno-11-70" href = "#__codelineno-11-70" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-71" name = "__codelineno-11-71" href = "#__codelineno-11-71" > < / a >
< a id = "__codelineno-11-72" name = "__codelineno-11-72" href = "#__codelineno-11-72" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 出队操作 */< / span >
< a id = "__codelineno-11-73" name = "__codelineno-11-73" href = "#__codelineno-11-73" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > poll< / span > < span class = "p" > (< / span > < span class = "kt" > bool< / span > < span class = "w" > < / span > < span class = "n" > isFront< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-74" name = "__codelineno-11-74" href = "#__codelineno-11-74" > < / a > < span class = "w" > < / span > < span class = "c1" > // 若队列为空,直接返回 -1< / span >
< a id = "__codelineno-11-75" name = "__codelineno-11-75" href = "#__codelineno-11-75" > < / a > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > isEmpty< / span > < span class = "p" > ())< / span >
< a id = "__codelineno-11-76" name = "__codelineno-11-76" href = "#__codelineno-11-76" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "mi" > -1< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-77" name = "__codelineno-11-77" href = "#__codelineno-11-77" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > val< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-78" name = "__codelineno-11-78" href = "#__codelineno-11-78" > < / a > < span class = "w" > < / span > < span class = "c1" > // 队首出队操作< / span >
< a id = "__codelineno-11-79" name = "__codelineno-11-79" href = "#__codelineno-11-79" > < / a > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > isFront< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-80" name = "__codelineno-11-80" href = "#__codelineno-11-80" > < / a > < span class = "w" > < / span > < span class = "n" > val< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "o" > -> < / span > < span class = "n" > val< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 暂存头结点值< / span >
< a id = "__codelineno-11-81" name = "__codelineno-11-81" href = "#__codelineno-11-81" > < / a > < span class = "w" > < / span > < span class = "c1" > // 删除头结点< / span >
< a id = "__codelineno-11-82" name = "__codelineno-11-82" href = "#__codelineno-11-82" > < / a > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > fNext< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "o" > -> < / span > < span class = "n" > next< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-83" name = "__codelineno-11-83" href = "#__codelineno-11-83" > < / a > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > fNext< / span > < span class = "w" > < / span > < span class = "o" > !=< / span > < span class = "w" > < / span > < span class = "k" > nullptr< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-84" name = "__codelineno-11-84" href = "#__codelineno-11-84" > < / a > < span class = "w" > < / span > < span class = "n" > fNext< / span > < span class = "o" > -> < / span > < span class = "n" > prev< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "k" > nullptr< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-85" name = "__codelineno-11-85" href = "#__codelineno-11-85" > < / a > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "o" > -> < / span > < span class = "n" > next< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "k" > nullptr< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-86" name = "__codelineno-11-86" href = "#__codelineno-11-86" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-87" name = "__codelineno-11-87" href = "#__codelineno-11-87" > < / a > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > fNext< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新头结点< / span >
< a id = "__codelineno-11-88" name = "__codelineno-11-88" href = "#__codelineno-11-88" > < / a > < span class = "w" > < / span > < span class = "c1" > // 队尾出队操作< / span >
< a id = "__codelineno-11-89" name = "__codelineno-11-89" href = "#__codelineno-11-89" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span > < span class = "w" > < / span > < span class = "k" > else< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-90" name = "__codelineno-11-90" href = "#__codelineno-11-90" > < / a > < span class = "w" > < / span > < span class = "n" > val< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "o" > -> < / span > < span class = "n" > val< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 暂存尾结点值< / span >
< a id = "__codelineno-11-91" name = "__codelineno-11-91" href = "#__codelineno-11-91" > < / a > < span class = "w" > < / span > < span class = "c1" > // 删除尾结点< / span >
< a id = "__codelineno-11-92" name = "__codelineno-11-92" href = "#__codelineno-11-92" > < / a > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > rPrev< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "o" > -> < / span > < span class = "n" > prev< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-93" name = "__codelineno-11-93" href = "#__codelineno-11-93" > < / a > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > rPrev< / span > < span class = "w" > < / span > < span class = "o" > !=< / span > < span class = "w" > < / span > < span class = "k" > nullptr< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-94" name = "__codelineno-11-94" href = "#__codelineno-11-94" > < / a > < span class = "w" > < / span > < span class = "n" > rPrev< / span > < span class = "o" > -> < / span > < span class = "n" > next< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "k" > nullptr< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-95" name = "__codelineno-11-95" href = "#__codelineno-11-95" > < / a > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "o" > -> < / span > < span class = "n" > prev< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "k" > nullptr< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-96" name = "__codelineno-11-96" href = "#__codelineno-11-96" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-97" name = "__codelineno-11-97" href = "#__codelineno-11-97" > < / a > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > rPrev< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新尾结点< / span >
< a id = "__codelineno-11-98" name = "__codelineno-11-98" href = "#__codelineno-11-98" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-99" name = "__codelineno-11-99" href = "#__codelineno-11-99" > < / a > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "o" > --< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 更新队列长度< / span >
< a id = "__codelineno-11-100" name = "__codelineno-11-100" href = "#__codelineno-11-100" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > val< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-101" name = "__codelineno-11-101" href = "#__codelineno-11-101" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-102" name = "__codelineno-11-102" href = "#__codelineno-11-102" > < / a >
< a id = "__codelineno-11-103" name = "__codelineno-11-103" href = "#__codelineno-11-103" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 队首出队 */< / span >
< a id = "__codelineno-11-104" name = "__codelineno-11-104" href = "#__codelineno-11-104" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > pollFirst< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-105" name = "__codelineno-11-105" href = "#__codelineno-11-105" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > poll< / span > < span class = "p" > (< / span > < span class = "nb" > true< / span > < span class = "p" > );< / span >
< a id = "__codelineno-11-106" name = "__codelineno-11-106" href = "#__codelineno-11-106" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-107" name = "__codelineno-11-107" href = "#__codelineno-11-107" > < / a >
< a id = "__codelineno-11-108" name = "__codelineno-11-108" href = "#__codelineno-11-108" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 队尾出队 */< / span >
< a id = "__codelineno-11-109" name = "__codelineno-11-109" href = "#__codelineno-11-109" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > pollLast< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-110" name = "__codelineno-11-110" href = "#__codelineno-11-110" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > poll< / span > < span class = "p" > (< / span > < span class = "nb" > false< / span > < span class = "p" > );< / span >
< a id = "__codelineno-11-111" name = "__codelineno-11-111" href = "#__codelineno-11-111" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-112" name = "__codelineno-11-112" href = "#__codelineno-11-112" > < / a >
< a id = "__codelineno-11-113" name = "__codelineno-11-113" href = "#__codelineno-11-113" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 访问队首元素 */< / span >
< a id = "__codelineno-11-114" name = "__codelineno-11-114" href = "#__codelineno-11-114" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > peekFirst< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-115" name = "__codelineno-11-115" href = "#__codelineno-11-115" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > isEmpty< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "o" > ?< / span > < span class = "w" > < / span > < span class = "mi" > -1< / span > < span class = "w" > < / span > < span class = "o" > :< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "o" > -> < / span > < span class = "n" > val< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-116" name = "__codelineno-11-116" href = "#__codelineno-11-116" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-117" name = "__codelineno-11-117" href = "#__codelineno-11-117" > < / a >
< a id = "__codelineno-11-118" name = "__codelineno-11-118" href = "#__codelineno-11-118" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 访问队尾元素 */< / span >
< a id = "__codelineno-11-119" name = "__codelineno-11-119" href = "#__codelineno-11-119" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > peekLast< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-120" name = "__codelineno-11-120" href = "#__codelineno-11-120" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > isEmpty< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "o" > ?< / span > < span class = "w" > < / span > < span class = "mi" > -1< / span > < span class = "w" > < / span > < span class = "o" > :< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "o" > -> < / span > < span class = "n" > val< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-121" name = "__codelineno-11-121" href = "#__codelineno-11-121" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-122" name = "__codelineno-11-122" href = "#__codelineno-11-122" > < / a >
< a id = "__codelineno-11-123" name = "__codelineno-11-123" href = "#__codelineno-11-123" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 返回数组用于打印 */< / span >
< a id = "__codelineno-11-124" name = "__codelineno-11-124" href = "#__codelineno-11-124" > < / a > < span class = "w" > < / span > < span class = "n" > vector< / span > < span class = "o" > < < / span > < span class = "kt" > int< / span > < span class = "o" > > < / span > < span class = "w" > < / span > < span class = "n" > toVector< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-125" name = "__codelineno-11-125" href = "#__codelineno-11-125" > < / a > < span class = "w" > < / span > < span class = "n" > DoubleListNode< / span > < span class = "w" > < / span > < span class = "o" > *< / span > < span class = "n" > node< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-126" name = "__codelineno-11-126" href = "#__codelineno-11-126" > < / a > < span class = "w" > < / span > < span class = "n" > vector< / span > < span class = "o" > < < / span > < span class = "kt" > int< / span > < span class = "o" > > < / span > < span class = "w" > < / span > < span class = "n" > res< / span > < span class = "p" > (< / span > < span class = "n" > size< / span > < span class = "p" > ());< / span >
< a id = "__codelineno-11-127" name = "__codelineno-11-127" href = "#__codelineno-11-127" > < / a > < span class = "w" > < / span > < span class = "k" > for< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > i< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "mi" > 0< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "n" > i< / span > < span class = "w" > < / span > < span class = "o" > < < / span > < span class = "w" > < / span > < span class = "n" > res< / span > < span class = "p" > .< / span > < span class = "n" > size< / span > < span class = "p" > ();< / span > < span class = "w" > < / span > < span class = "n" > i< / span > < span class = "o" > ++< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-11-128" name = "__codelineno-11-128" href = "#__codelineno-11-128" > < / a > < span class = "w" > < / span > < span class = "n" > res< / span > < span class = "p" > [< / span > < span class = "n" > i< / span > < span class = "p" > ]< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "o" > -> < / span > < span class = "n" > val< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-129" name = "__codelineno-11-129" href = "#__codelineno-11-129" > < / a > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > node< / span > < span class = "o" > -> < / span > < span class = "n" > next< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-130" name = "__codelineno-11-130" href = "#__codelineno-11-130" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-131" name = "__codelineno-11-131" href = "#__codelineno-11-131" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > res< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-11-132" name = "__codelineno-11-132" href = "#__codelineno-11-132" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-11-133" name = "__codelineno-11-133" href = "#__codelineno-11-133" > < / a > < span class = "p" > };< / span >
< / code > < / pre > < / div >
< / div >
< div class = "tabbed-block" >
@ -3060,7 +3190,112 @@
< / code > < / pre > < / div >
< / div >
< div class = "tabbed-block" >
< div class = "highlight" > < span class = "filename" > array_deque.cpp< / span > < pre > < span > < / span > < code > < a id = "__codelineno-21-1" name = "__codelineno-21-1" href = "#__codelineno-21-1" > < / a > < span class = "p" > [< / span > < span class = "k" > class< / span > < span class = "p" > ]{< / span > < span class = "n" > ArrayDeque< / span > < span class = "p" > }< / span > < span class = "o" > -< / span > < span class = "p" > [< / span > < span class = "n" > func< / span > < span class = "p" > ]{}< / span >
< div class = "highlight" > < span class = "filename" > array_deque.cpp< / span > < pre > < span > < / span > < code > < a id = "__codelineno-21-1" name = "__codelineno-21-1" href = "#__codelineno-21-1" > < / a > < span class = "cm" > /* 基于环形数组实现的双向队列 */< / span >
< a id = "__codelineno-21-2" name = "__codelineno-21-2" href = "#__codelineno-21-2" > < / a > < span class = "k" > class< / span > < span class = "w" > < / span > < span class = "nc" > ArrayDeque< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-3" name = "__codelineno-21-3" href = "#__codelineno-21-3" > < / a > < span class = "k" > private< / span > < span class = "o" > :< / span >
< a id = "__codelineno-21-4" name = "__codelineno-21-4" href = "#__codelineno-21-4" > < / a > < span class = "w" > < / span > < span class = "n" > vector< / span > < span class = "o" > < < / span > < span class = "kt" > int< / span > < span class = "o" > > < / span > < span class = "w" > < / span > < span class = "n" > nums< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 用于存储双向队列元素的数组< / span >
< a id = "__codelineno-21-5" name = "__codelineno-21-5" href = "#__codelineno-21-5" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 队首指针,指向队首元素< / span >
< a id = "__codelineno-21-6" name = "__codelineno-21-6" href = "#__codelineno-21-6" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "c1" > // 双向队列长度< / span >
< a id = "__codelineno-21-7" name = "__codelineno-21-7" href = "#__codelineno-21-7" > < / a >
< a id = "__codelineno-21-8" name = "__codelineno-21-8" href = "#__codelineno-21-8" > < / a > < span class = "k" > public< / span > < span class = "o" > :< / span >
< a id = "__codelineno-21-9" name = "__codelineno-21-9" href = "#__codelineno-21-9" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 构造方法 */< / span >
< a id = "__codelineno-21-10" name = "__codelineno-21-10" href = "#__codelineno-21-10" > < / a > < span class = "w" > < / span > < span class = "n" > ArrayDeque< / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > capacity< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-11" name = "__codelineno-21-11" href = "#__codelineno-21-11" > < / a > < span class = "w" > < / span > < span class = "n" > nums< / span > < span class = "p" > .< / span > < span class = "n" > resize< / span > < span class = "p" > (< / span > < span class = "n" > capacity< / span > < span class = "p" > );< / span >
< a id = "__codelineno-21-12" name = "__codelineno-21-12" href = "#__codelineno-21-12" > < / a > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "mi" > 0< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-13" name = "__codelineno-21-13" href = "#__codelineno-21-13" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-14" name = "__codelineno-21-14" href = "#__codelineno-21-14" > < / a >
< a id = "__codelineno-21-15" name = "__codelineno-21-15" href = "#__codelineno-21-15" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 获取双向队列的容量 */< / span >
< a id = "__codelineno-21-16" name = "__codelineno-21-16" href = "#__codelineno-21-16" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > capacity< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-17" name = "__codelineno-21-17" href = "#__codelineno-21-17" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > nums< / span > < span class = "p" > .< / span > < span class = "n" > size< / span > < span class = "p" > ();< / span >
< a id = "__codelineno-21-18" name = "__codelineno-21-18" href = "#__codelineno-21-18" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-19" name = "__codelineno-21-19" href = "#__codelineno-21-19" > < / a >
< a id = "__codelineno-21-20" name = "__codelineno-21-20" href = "#__codelineno-21-20" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 获取双向队列的长度 */< / span >
< a id = "__codelineno-21-21" name = "__codelineno-21-21" href = "#__codelineno-21-21" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > size< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-22" name = "__codelineno-21-22" href = "#__codelineno-21-22" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-23" name = "__codelineno-21-23" href = "#__codelineno-21-23" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-24" name = "__codelineno-21-24" href = "#__codelineno-21-24" > < / a >
< a id = "__codelineno-21-25" name = "__codelineno-21-25" href = "#__codelineno-21-25" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 判断双向队列是否为空 */< / span >
< a id = "__codelineno-21-26" name = "__codelineno-21-26" href = "#__codelineno-21-26" > < / a > < span class = "w" > < / span > < span class = "kt" > bool< / span > < span class = "w" > < / span > < span class = "n" > isEmpty< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-27" name = "__codelineno-21-27" href = "#__codelineno-21-27" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "w" > < / span > < span class = "o" > ==< / span > < span class = "w" > < / span > < span class = "mi" > 0< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-28" name = "__codelineno-21-28" href = "#__codelineno-21-28" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-29" name = "__codelineno-21-29" href = "#__codelineno-21-29" > < / a >
< a id = "__codelineno-21-30" name = "__codelineno-21-30" href = "#__codelineno-21-30" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 计算环形数组索引 */< / span >
< a id = "__codelineno-21-31" name = "__codelineno-21-31" href = "#__codelineno-21-31" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > i< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-32" name = "__codelineno-21-32" href = "#__codelineno-21-32" > < / a > < span class = "w" > < / span > < span class = "c1" > // 通过取余操作实现数组首尾相连< / span >
< a id = "__codelineno-21-33" name = "__codelineno-21-33" href = "#__codelineno-21-33" > < / a > < span class = "w" > < / span > < span class = "c1" > // 当 i 越过数组尾部后,回到头部< / span >
< a id = "__codelineno-21-34" name = "__codelineno-21-34" href = "#__codelineno-21-34" > < / a > < span class = "w" > < / span > < span class = "c1" > // 当 i 越过数组头部后,回到尾部< / span >
< a id = "__codelineno-21-35" name = "__codelineno-21-35" href = "#__codelineno-21-35" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > i< / span > < span class = "w" > < / span > < span class = "o" > +< / span > < span class = "w" > < / span > < span class = "n" > capacity< / span > < span class = "p" > ())< / span > < span class = "w" > < / span > < span class = "o" > %< / span > < span class = "w" > < / span > < span class = "n" > capacity< / span > < span class = "p" > ();< / span >
< a id = "__codelineno-21-36" name = "__codelineno-21-36" href = "#__codelineno-21-36" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-37" name = "__codelineno-21-37" href = "#__codelineno-21-37" > < / a >
< a id = "__codelineno-21-38" name = "__codelineno-21-38" href = "#__codelineno-21-38" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 队首入队 */< / span >
< a id = "__codelineno-21-39" name = "__codelineno-21-39" href = "#__codelineno-21-39" > < / a > < span class = "w" > < / span > < span class = "kt" > void< / span > < span class = "w" > < / span > < span class = "n" > pushFirst< / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-40" name = "__codelineno-21-40" href = "#__codelineno-21-40" > < / a > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > queSize< / span > < span class = "w" > < / span > < span class = "o" > ==< / span > < span class = "w" > < / span > < span class = "n" > capacity< / span > < span class = "p" > ())< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-41" name = "__codelineno-21-41" href = "#__codelineno-21-41" > < / a > < span class = "w" > < / span > < span class = "n" > cout< / span > < span class = "w" > < / span > < span class = "o" > < < < / span > < span class = "w" > < / span > < span class = "s" > " 双向队列已满" < / span > < span class = "w" > < / span > < span class = "o" > < < < / span > < span class = "w" > < / span > < span class = "n" > endl< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-42" name = "__codelineno-21-42" href = "#__codelineno-21-42" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-43" name = "__codelineno-21-43" href = "#__codelineno-21-43" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-44" name = "__codelineno-21-44" href = "#__codelineno-21-44" > < / a > < span class = "w" > < / span > < span class = "c1" > // 队首指针向左移动一位< / span >
< a id = "__codelineno-21-45" name = "__codelineno-21-45" href = "#__codelineno-21-45" > < / a > < span class = "w" > < / span > < span class = "c1" > // 通过取余操作,实现 front 越过数组头部后回到尾部< / span >
< a id = "__codelineno-21-46" name = "__codelineno-21-46" href = "#__codelineno-21-46" > < / a > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > -< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span > < span class = "p" > );< / span >
< a id = "__codelineno-21-47" name = "__codelineno-21-47" href = "#__codelineno-21-47" > < / a > < span class = "w" > < / span > < span class = "c1" > // 将 num 添加至队首< / span >
< a id = "__codelineno-21-48" name = "__codelineno-21-48" href = "#__codelineno-21-48" > < / a > < span class = "w" > < / span > < span class = "n" > nums< / span > < span class = "p" > [< / span > < span class = "n" > front< / span > < span class = "p" > ]< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-49" name = "__codelineno-21-49" href = "#__codelineno-21-49" > < / a > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "o" > ++< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-50" name = "__codelineno-21-50" href = "#__codelineno-21-50" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-51" name = "__codelineno-21-51" href = "#__codelineno-21-51" > < / a >
< a id = "__codelineno-21-52" name = "__codelineno-21-52" href = "#__codelineno-21-52" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 队尾入队 */< / span >
< a id = "__codelineno-21-53" name = "__codelineno-21-53" href = "#__codelineno-21-53" > < / a > < span class = "w" > < / span > < span class = "kt" > void< / span > < span class = "w" > < / span > < span class = "n" > pushLast< / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-54" name = "__codelineno-21-54" href = "#__codelineno-21-54" > < / a > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > queSize< / span > < span class = "w" > < / span > < span class = "o" > ==< / span > < span class = "w" > < / span > < span class = "n" > capacity< / span > < span class = "p" > ())< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-55" name = "__codelineno-21-55" href = "#__codelineno-21-55" > < / a > < span class = "w" > < / span > < span class = "n" > cout< / span > < span class = "w" > < / span > < span class = "o" > < < < / span > < span class = "w" > < / span > < span class = "s" > " 双向队列已满" < / span > < span class = "w" > < / span > < span class = "o" > < < < / span > < span class = "w" > < / span > < span class = "n" > endl< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-56" name = "__codelineno-21-56" href = "#__codelineno-21-56" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-57" name = "__codelineno-21-57" href = "#__codelineno-21-57" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-58" name = "__codelineno-21-58" href = "#__codelineno-21-58" > < / a > < span class = "w" > < / span > < span class = "c1" > // 计算尾指针,指向队尾索引 + 1< / span >
< a id = "__codelineno-21-59" name = "__codelineno-21-59" href = "#__codelineno-21-59" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > rear< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > +< / span > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "p" > );< / span >
< a id = "__codelineno-21-60" name = "__codelineno-21-60" href = "#__codelineno-21-60" > < / a > < span class = "w" > < / span > < span class = "c1" > // 将 num 添加至队尾< / span >
< a id = "__codelineno-21-61" name = "__codelineno-21-61" href = "#__codelineno-21-61" > < / a > < span class = "w" > < / span > < span class = "n" > nums< / span > < span class = "p" > [< / span > < span class = "n" > rear< / span > < span class = "p" > ]< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-62" name = "__codelineno-21-62" href = "#__codelineno-21-62" > < / a > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "o" > ++< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-63" name = "__codelineno-21-63" href = "#__codelineno-21-63" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-64" name = "__codelineno-21-64" href = "#__codelineno-21-64" > < / a >
< a id = "__codelineno-21-65" name = "__codelineno-21-65" href = "#__codelineno-21-65" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 队首出队 */< / span >
< a id = "__codelineno-21-66" name = "__codelineno-21-66" href = "#__codelineno-21-66" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > pollFirst< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-67" name = "__codelineno-21-67" href = "#__codelineno-21-67" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > peekFirst< / span > < span class = "p" > ();< / span >
< a id = "__codelineno-21-68" name = "__codelineno-21-68" href = "#__codelineno-21-68" > < / a > < span class = "w" > < / span > < span class = "c1" > // 队首指针向后移动一位< / span >
< a id = "__codelineno-21-69" name = "__codelineno-21-69" href = "#__codelineno-21-69" > < / a > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > +< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span > < span class = "p" > );< / span >
< a id = "__codelineno-21-70" name = "__codelineno-21-70" href = "#__codelineno-21-70" > < / a > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "o" > --< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-71" name = "__codelineno-21-71" href = "#__codelineno-21-71" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-72" name = "__codelineno-21-72" href = "#__codelineno-21-72" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-73" name = "__codelineno-21-73" href = "#__codelineno-21-73" > < / a >
< a id = "__codelineno-21-74" name = "__codelineno-21-74" href = "#__codelineno-21-74" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 队尾出队 */< / span >
< a id = "__codelineno-21-75" name = "__codelineno-21-75" href = "#__codelineno-21-75" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > pollLast< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-76" name = "__codelineno-21-76" href = "#__codelineno-21-76" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > peekLast< / span > < span class = "p" > ();< / span >
< a id = "__codelineno-21-77" name = "__codelineno-21-77" href = "#__codelineno-21-77" > < / a > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "o" > --< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-78" name = "__codelineno-21-78" href = "#__codelineno-21-78" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > num< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-79" name = "__codelineno-21-79" href = "#__codelineno-21-79" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-80" name = "__codelineno-21-80" href = "#__codelineno-21-80" > < / a >
< a id = "__codelineno-21-81" name = "__codelineno-21-81" href = "#__codelineno-21-81" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 访问队首元素 */< / span >
< a id = "__codelineno-21-82" name = "__codelineno-21-82" href = "#__codelineno-21-82" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > peekFirst< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-83" name = "__codelineno-21-83" href = "#__codelineno-21-83" > < / a > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > isEmpty< / span > < span class = "p" > ())< / span >
< a id = "__codelineno-21-84" name = "__codelineno-21-84" href = "#__codelineno-21-84" > < / a > < span class = "w" > < / span > < span class = "k" > throw< / span > < span class = "w" > < / span > < span class = "n" > out_of_range< / span > < span class = "p" > (< / span > < span class = "s" > " 双向队列为空" < / span > < span class = "p" > );< / span >
< a id = "__codelineno-21-85" name = "__codelineno-21-85" href = "#__codelineno-21-85" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > nums< / span > < span class = "p" > [< / span > < span class = "n" > front< / span > < span class = "p" > ];< / span >
< a id = "__codelineno-21-86" name = "__codelineno-21-86" href = "#__codelineno-21-86" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-87" name = "__codelineno-21-87" href = "#__codelineno-21-87" > < / a >
< a id = "__codelineno-21-88" name = "__codelineno-21-88" href = "#__codelineno-21-88" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 访问队尾元素 */< / span >
< a id = "__codelineno-21-89" name = "__codelineno-21-89" href = "#__codelineno-21-89" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > peekLast< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-90" name = "__codelineno-21-90" href = "#__codelineno-21-90" > < / a > < span class = "w" > < / span > < span class = "k" > if< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "n" > isEmpty< / span > < span class = "p" > ())< / span >
< a id = "__codelineno-21-91" name = "__codelineno-21-91" href = "#__codelineno-21-91" > < / a > < span class = "w" > < / span > < span class = "k" > throw< / span > < span class = "w" > < / span > < span class = "n" > out_of_range< / span > < span class = "p" > (< / span > < span class = "s" > " 双向队列为空" < / span > < span class = "p" > );< / span >
< a id = "__codelineno-21-92" name = "__codelineno-21-92" href = "#__codelineno-21-92" > < / a > < span class = "w" > < / span > < span class = "c1" > // 计算尾元素索引< / span >
< a id = "__codelineno-21-93" name = "__codelineno-21-93" href = "#__codelineno-21-93" > < / a > < span class = "w" > < / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > last< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > front< / span > < span class = "w" > < / span > < span class = "o" > +< / span > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "w" > < / span > < span class = "o" > -< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span > < span class = "p" > );< / span >
< a id = "__codelineno-21-94" name = "__codelineno-21-94" href = "#__codelineno-21-94" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > nums< / span > < span class = "p" > [< / span > < span class = "n" > last< / span > < span class = "p" > ];< / span >
< a id = "__codelineno-21-95" name = "__codelineno-21-95" href = "#__codelineno-21-95" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-96" name = "__codelineno-21-96" href = "#__codelineno-21-96" > < / a >
< a id = "__codelineno-21-97" name = "__codelineno-21-97" href = "#__codelineno-21-97" > < / a > < span class = "w" > < / span > < span class = "cm" > /* 返回数组用于打印 */< / span >
< a id = "__codelineno-21-98" name = "__codelineno-21-98" href = "#__codelineno-21-98" > < / a > < span class = "w" > < / span > < span class = "n" > vector< / span > < span class = "o" > < < / span > < span class = "kt" > int< / span > < span class = "o" > > < / span > < span class = "w" > < / span > < span class = "n" > toVector< / span > < span class = "p" > ()< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-99" name = "__codelineno-21-99" href = "#__codelineno-21-99" > < / a > < span class = "w" > < / span > < span class = "c1" > // 仅转换有效长度范围内的列表元素< / span >
< a id = "__codelineno-21-100" name = "__codelineno-21-100" href = "#__codelineno-21-100" > < / a > < span class = "w" > < / span > < span class = "n" > vector< / span > < span class = "o" > < < / span > < span class = "kt" > int< / span > < span class = "o" > > < / span > < span class = "w" > < / span > < span class = "n" > res< / span > < span class = "p" > (< / span > < span class = "n" > queSize< / span > < span class = "p" > );< / span >
< a id = "__codelineno-21-101" name = "__codelineno-21-101" href = "#__codelineno-21-101" > < / a > < span class = "w" > < / span > < span class = "k" > for< / span > < span class = "w" > < / span > < span class = "p" > (< / span > < span class = "kt" > int< / span > < span class = "w" > < / span > < span class = "n" > i< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "n" > j< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > front< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "n" > i< / span > < span class = "w" > < / span > < span class = "o" > < < / span > < span class = "w" > < / span > < span class = "n" > queSize< / span > < span class = "p" > ;< / span > < span class = "w" > < / span > < span class = "n" > i< / span > < span class = "o" > ++< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "n" > j< / span > < span class = "o" > ++< / span > < span class = "p" > )< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< a id = "__codelineno-21-102" name = "__codelineno-21-102" href = "#__codelineno-21-102" > < / a > < span class = "w" > < / span > < span class = "n" > res< / span > < span class = "p" > [< / span > < span class = "n" > i< / span > < span class = "p" > ]< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "n" > nums< / span > < span class = "p" > [< / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > j< / span > < span class = "p" > )];< / span >
< a id = "__codelineno-21-103" name = "__codelineno-21-103" href = "#__codelineno-21-103" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-104" name = "__codelineno-21-104" href = "#__codelineno-21-104" > < / a > < span class = "w" > < / span > < span class = "k" > return< / span > < span class = "w" > < / span > < span class = "n" > res< / span > < span class = "p" > ;< / span >
< a id = "__codelineno-21-105" name = "__codelineno-21-105" href = "#__codelineno-21-105" > < / a > < span class = "w" > < / span > < span class = "p" > }< / span >
< a id = "__codelineno-21-106" name = "__codelineno-21-106" href = "#__codelineno-21-106" > < / a > < span class = "p" > };< / span >
< / code > < / pre > < / div >
< / div >
< div class = "tabbed-block" >