priority_queue (STL/CLR)

樣板類別說明控制不同的長度排序元素的存取受到限制的順序排列的物件。您使用的容器配接器priority_queue來管理優先順序佇列為基礎的容器。

在下列描述中GValue等同於Value其餘後者則是參考型別,在這種情況是Value^。同樣地, GContainer等同於Container其餘後者則是參考型別,在這種情況是Container^。

template<typename Value,
    typename Container>
    ref class priority_queue
        System::ICloneable,
        Microsoft::VisualC::StlClr::IPriorityQueue<GValue, GContainer>
    { ..... };

參數


  • 受控制序列中項目的型別。

  • 容器
    基礎容器的型別。

Members

型別定義

描述

priority_queue::const_reference (STL/CLR)

常數參考的項目型別。

priority_queue::container_type (STL/CLR)

基礎容器的型別。

priority_queue::difference_type (STL/CLR)

帶正負號的距離,兩個元素之間的型別。

priority_queue::generic_container (STL/CLR)

泛用介面的容器配接器的型別。

priority_queue::generic_value (STL/CLR)

項目泛用介面的容器配接器的型別。

priority_queue::reference (STL/CLR)

項目之參考型別。

priority_queue::size_type (STL/CLR)

帶正負號的距離,兩個元素之間的型別。

priority_queue::value_compare (STL/CLR)

兩個項目的排序委派。

priority_queue::value_type (STL/CLR)

項目的型別。

成員函式

描述

priority_queue::assign (STL/CLR)

取代所有的項目。

priority_queue::empty (STL/CLR)

測試是否沒有項目呈現。

priority_queue::get_container (STL/CLR)

存取基礎容器。

priority_queue::pop (STL/CLR)

移除 hghest 優先順序項目。

priority_queue::priority_queue (STL/CLR)

建構容器物件。

priority_queue::push (STL/CLR)

加入新項目。

priority_queue::size (STL/CLR)

計數項目的數目。

priority_queue::top (STL/CLR)

存取最高優先順序項目。

priority_queue::to_array (STL/CLR)

將受控制的序列複製到新的陣列。

priority_queue::value_comp (STL/CLR)

複製兩個項目的排序委派。

屬性

描述

priority_queue::top_item (STL/CLR)

存取最高優先順序項目。

運算子

描述

priority_queue::operator= (STL/CLR)

取代受控制的序列。

介面

介面

描述

ICloneable

重複的物件。

IPriorityQueue < 值、 容器 >

維護泛用容器配接器。

備註

物件會配置並釋放儲存區,它可控制型別的基礎容器中,透過序列Container,儲存Value項目和隨選不斷增長。它將保持排序為堆積中,具有最高優先順序項目 (最上層的項目) 中隨時存取和卸除式的順序。物件會發送新的項目,以及移除只是最高優先順序項目,實作優先順序佇列限制存取。

順序它藉由呼叫預存的委派型別的物件來控制序列的物件priority_queue::value_compare (STL/CLR)。您可以指定預存的委派物件,當您建構 priority_queue ; 如果您指定了委派的物件,則預設會比較operator<(value_type, value_type)。您呼叫成員函式來存取這個預存的物件priority_queue::value_comp (STL/CLR)()。

這類委派物件必須加上嚴格弱式順序型別的值上priority_queue::value_type (STL/CLR)。也就是說,對於任何兩個機碼,在X和Y:

value_comp()(X, Y)傳回的同一個布林值會產生,在每次呼叫。

如果value_comp()(X, Y) ,就為 true, value_comp()(Y, X)必須是,則為 false。

如果value_comp()(X, Y) ,就為 true, X排列前即稱為Y。

如果!value_comp()(X, Y) && !value_comp()(Y, X) ,就為 true, X和Y指具有相同的順序。

對於任何項目X ,之前Y在受控制序列中, key_comp()(Y, X)為 false。(預設值的委派物件,為索引鍵永遠不會降低。)

最高優先順序項目的因此是其中的任何其他項目之前未經過排序的項目。

因為基礎容器會保留排序為堆積的項目:

容器必須支援隨機存取 iterator。

比它們推入,可能會以不同方式取出具有對等排序的項目。(順序是不穩定)。

因此,基礎容器的對象包括deque (STL/CLR)vector (STL/CLR)

需求

標頭: < cliext/佇列 >

Namespace: cliext

請參閱

參考

deque (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

其他資源

STL/CLR 程式庫參考