跳去內容

雙端佇列

出自維基百科,自由嘅百科全書

雙端cyu5英文double-ended queue)係數據結構一種,具有佇列堆疊性質嘅抽象數據類型

雙端佇列入面啲數據可以從由兩邊嘅是但一邊彈出嚟。

操作

[編輯]

雙端佇列可以喺佇列是但一端入隊出隊。此外,好多時仲會有個𥄫吓(Peek)操作,返某端嘅數據但唔將佢「脫隊」。

主流實現包括:

操作常見名AdaC++JavaPerlPHPPythonRubyJavaScript
尾部插入inject, snocAppendpush_backofferLastpusharray_pushappendpushpush
頭部插入push, consPrependpush_frontofferFirstunshiftarray_unshiftappendleftunshiftunshift
尾部刪除ejectDelete_Lastpop_backpollLastpoparray_poppoppoppop
頭部刪除popDelete_Firstpop_frontpollFirstshiftarray_shiftpopleftshiftshift
查看尾部Last_ElementbackpeekLast$array[-1]end[-1]last[.length - 1]
查看頭部First_ElementfrontpeekFirst$array[0]reset[0]first[0]

[編輯]