Aracılığıyla paylaş


priority_queue (STL/CLR)

Şablon sınıfı, sınırlı erişimi olan öğelerin değişen uzunlukta sıralı dizisini denetleen bir nesneyi açıklar. Temel alınan kapsayıcıyı öncelik sırası olarak yönetmek için kapsayıcı bağdaştırıcısını priority_queue kullanırsınız.

Aşağıdaki açıklamada, GValue ikincisi bir başvuru türü olmadığı sürece Değer ile aynıdır; bu durumda olurValue^. Benzer şekilde, GContainer ikincisi bir başvuru türü olmadığı sürece Kapsayıcı ile aynıdır ve bu durumda olurContainer^.

Sözdizimi

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

Parametreler

Değer
Denetlenen sıradaki öğenin türü.

Kapsayıcı
Temel alınan kapsayıcının türü.

Gereksinimler

Üst bilgi:<cliext/queue>

Ad alanı: cliext

Bildirimler

Tür Tanımlaması Tanım
priority_queue::const_reference (STL/CLR) Bir öğe için sabit bir başvuru türü.
priority_queue::container_type (STL/CLR) Temel alınan kapsayıcının türü.
priority_queue::difference_type (STL/CLR) İki öğe arasındaki işaretli mesafenin türü.
priority_queue::generic_container (STL/CLR) Kapsayıcı bağdaştırıcısı için genel arabirimin türü.
priority_queue::generic_value (STL/CLR) Kapsayıcı bağdaştırıcısının genel arabirimi için bir öğenin türü.
priority_queue::reference (STL/CLR) Bir öğe için bir başvuru türü.
priority_queue::size_type (STL/CLR) İki öğe arasındaki işaretli mesafenin türü.
priority_queue::value_compare (STL/CLR) İki öğe için sıralama temsilcisi.
priority_queue::value_type (STL/CLR) Öğenin türü.
Üye İşlevi Tanım
priority_queue::assign (STL/CLR) Tüm öğeleri değiştirir.
priority_queue::empty (STL/CLR) Bir öğe olup olmadığını sınar.
priority_queue::get_container (STL/CLR) Temel kapsayıcıya erişir.
priority_queue::pop (STL/CLR) hghest-priority öğesini kaldırır.
priority_queue::priority_queue (STL/CLR) Bir kapsayıcı nesnesi oluşturur.
priority_queue::push (STL/CLR) Yeni bir öğe ekler.
priority_queue::size (STL/CLR) Öğe sayısını sayar.
priority_queue::top (STL/CLR) En yüksek öncelikli öğeye erişir.
priority_queue::to_array (STL/CLR) Denetimli diziyi yeni bir diziye kopyalar.
priority_queue::value_comp (STL/CLR) İki öğe için sıralama temsilcisini kopyalar.
Özellik Tanım
priority_queue::top_item (STL/CLR) En yüksek öncelikli öğeye erişir.
Operator Tanım
priority_queue::operator= (STL/CLR) Denetimli sıranın yerini alır.

Arabirimler

Arabirim Tanım
ICloneable Nesneyi çoğaltma.
IPriorityQueue<Değeri, Kapsayıcı> Genel kapsayıcı bağdaştırıcısını koruyun.

Açıklamalar

nesnesi, öğeleri depolayan Value ve isteğe bağlı olarak büyüyen, türündeki Containerbir temel kapsayıcı aracılığıyla denetlediği sıra için depolama ayırır ve serbesttir. Sırayı yığın olarak sıralı tutar ve en yüksek öncelikli öğe (en üst öğe) erişilebilir ve çıkarılabilir durumda olur. nesnesi, erişimi yeni öğeler göndermeye ve yalnızca en yüksek öncelikli öğeyi kullanıma seçerek öncelik kuyruğu uygulamayla kısıtlar.

nesnesi, priority_queue::value_compare (STL/CLR) türünde bir saklı temsilci nesnesi çağırarak denetlediği sırayı sıralar. priority_queue oluştururken depolanan temsilci nesnesini belirtebilirsiniz; temsilci nesnesi belirtmezseniz, varsayılan karşılaştırmadır operator<(value_type, value_type). Bu depolanan nesneye erişmek için priority_queue::value_comp (STL/CLR)() üye işlevini çağırırsınız.

Böyle bir temsilci nesnesi, priority_queue::value_type (STL/CLR) türündeki değerlere katı bir zayıf sıralama uygulamalıdır. Başka bir deyişle, iki anahtar X ve Yiçin:

value_comp()(X, Y) her çağrıda aynı Boole sonucunu döndürür.

value_comp()(X, Y) True ise false value_comp()(Y, X) olmalıdır.

True value_comp()(X, Y) ise, X öncesinde Ysıralanmış olduğu söylenir.

True !value_comp()(X, Y) && !value_comp()(Y, X) ise ve XY eşdeğer sıralamaya sahip olduğu söylenir.

Denetimli diziden key_comp()(Y, X) önce Y gelen herhangi bir öğe X için false değeridir. (Varsayılan temsilci nesnesi için anahtarlar hiçbir zaman değerde azalmaz.)

Bu nedenle en yüksek öncelikli öğe, başka bir öğeden önce sıralanmayan öğelerden biridir.

Temel kapsayıcı öğeleri yığın olarak sıralı tuttuğundan:

Kapsayıcının rastgele erişim yineleyicilerini desteklemesi gerekir.

Eşdeğer sıralamaya sahip öğeler, gönderildiklerinden farklı bir sırayla oluşturulabilir. (Sıralama kararlı değil.)

Bu nedenle, temel kapsayıcı adayları deque (STL/CLR) ve vektör (STL/CLR) içerir.

Üyeler

priority_queue::assign (STL/CLR)

Tüm öğeleri değiştirir.

Sözdizimi

void assign(priority_queue<Value, Container>% right);

Parametreler

Doğru
Eklenecek kapsayıcı bağdaştırıcısı.

Açıklamalar

Üye işlevi, temel alınan kapsayıcıya atar right.get_container() . Kuyruğun tüm içeriğini değiştirmek için bunu kullanırsınız.

Örnek

// cliext_priority_queue_assign.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display initial contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // assign a repetition of values
    Mypriority_queue c2;
    c2.assign(c1);
    for each (wchar_t elem in c2.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
c a b
c a b

priority_queue::const_reference (STL/CLR)

Bir öğe için sabit bir başvuru türü.

Sözdizimi

typedef value_type% const_reference;

Açıklamalar

türü, bir öğeye sabit başvuruyu açıklar.

Örnek

// cliext_priority_queue_const_reference.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display reversed contents " c b a"
    for (; !c1.empty(); c1.pop())
        {   // get a const reference to an element
        Mypriority_queue::const_reference cref = c1.top();
        System::Console::Write("{0} ", cref);
        }
    System::Console::WriteLine();
    return (0);
    }
c b a

priority_queue::container_type (STL/CLR)

Temel alınan kapsayıcının türü.

Sözdizimi

typedef Container value_type;

Açıklamalar

türü, şablon parametresi Containeriçin bir eş anlamlıdır.

Örnek

// cliext_priority_queue_container_type.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display contents " a b c" using container_type
    Mypriority_queue::container_type wc1 = c1.get_container();
    for each (wchar_t elem in wc1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
c a b

priority_queue::difference_type (STL/CLR)

İki öğe arasındaki imzalı uzaklık türleri.

Sözdizimi

typedef int difference_type;

Açıklamalar

Türü, büyük olasılıkla negatif öğe sayısını açıklar.

Örnek

// cliext_priority_queue_difference_type.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display initial contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // compute negative difference
    Mypriority_queue::difference_type diff = c1.size();
    c1.push(L'd');
    c1.push(L'e');
    diff -= c1.size();
    System::Console::WriteLine("pushing 2 = {0}", diff);

    // compute positive difference
    diff = c1.size();
    c1.pop();
    c1.pop();
    c1.pop();
    diff -= c1.size();
    System::Console::WriteLine("popping 3 = {0}", diff);
    return (0);
    }
c a b
pushing 2 = -2
popping 3 = 3

priority_queue::empty (STL/CLR)

Bir öğe olup olmadığını sınar.

Sözdizimi

bool empty();

Açıklamalar

Üye işlevi boş denetimli bir dizi için true döndürür. priority_queue::size (STL/CLR)() == 0 ile eşdeğerdir. priority_queue boş olup olmadığını test etmek için bunu kullanırsınız.

Örnek

// cliext_priority_queue_empty.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display initial contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    System::Console::WriteLine("size() = {0}", c1.size());
    System::Console::WriteLine("empty() = {0}", c1.empty());

    // clear the container and reinspect
    c1.pop();
    c1.pop();
    c1.pop();
    System::Console::WriteLine("size() = {0}", c1.size());
    System::Console::WriteLine("empty() = {0}", c1.empty());
    return (0);
    }
c a b
size() = 3
empty() = False
size() = 0
empty() = True

priority_queue::generic_container (STL/CLR)

Kapsayıcı için genel arabirimin türü.

Sözdizimi

typedef Microsoft::VisualC::StlClr::IPriorityQueue<Value>
    generic_container;

Açıklamalar

türü, bu şablon kapsayıcı bağdaştırıcısı sınıfı için genel arabirimi açıklar.

Örnek

// cliext_priority_queue_generic_container.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct a generic container
    Mypriority_queue::generic_container^ gc1 = %c1;
    for each (wchar_t elem in gc1->get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // modify generic and display original
    gc1->push(L'd');
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // modify original and display generic
    c1.push(L'e');
    for each (wchar_t elem in gc1->get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
c a b
c a b
d c b a
e d b a c

priority_queue::generic_value (STL/CLR)

Kapsayıcının genel arabirimiyle kullanılacak bir öğenin türü.

Sözdizimi

typedef GValue generic_value;

Açıklamalar

türü, bu şablon kapsayıcı sınıfı için genel arabirimle kullanılmak üzere depolanan öğe değerini açıklayan türdeki GValue bir nesneyi açıklar. (GValue veya value_type^ bir başvuru türüysevalue_type.)value_type

Örnek

// cliext_priority_queue_generic_value.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // get interface to container
    Mypriority_queue::generic_container^ gc1 = %c1;
    for each (wchar_t elem in gc1->get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // display in priority order using generic_value
    for (; !gc1->empty(); gc1->pop())
        {
        Mypriority_queue::generic_value elem = gc1->top();

        System::Console::Write("{0} ", elem);
        }
    System::Console::WriteLine();
    return (0);
    }
c a b
c a b
c b a

priority_queue::get_container (STL/CLR)

Temel kapsayıcıya erişir.

Sözdizimi

container_type get_container();

Açıklamalar

Üye işlevi temel kapsayıcıyı döndürür. Kapsayıcı sarmalayıcısı tarafından uygulanan kısıtlamaları atlamak için bunu kullanırsınız.

Örnek

// cliext_priority_queue_get_container.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display initial contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
c a b

priority_queue::operator= (STL/CLR)

Denetimli sıranın yerini alır.

Sözdizimi

priority_queue <Value, Container>% operator=(priority_queue <Value, Container>% right);

Parametreler

Doğru
Kopyalanacak kapsayıcı bağdaştırıcısı.

Açıklamalar

Üye işleci doğrudan nesnesine kopyalanır ve döndürür*this. Bunu, denetimli sırayı sağda denetimli sıranın bir kopyasıyla değiştirmek için kullanırsınız.

Örnek

// cliext_priority_queue_operator_as.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // assign to a new container
    Mypriority_queue c2;
    c2 = c1;
    for each (wchar_t elem in c2.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
c a b
c a b

priority_queue::pop (STL/CLR)

En yüksek proirity öğesini kaldırır.

Sözdizimi

void pop();

Açıklamalar

Üye işlevi, denetlenen sıranın en yüksek öncelikli öğesini kaldırır ve bu öğe boş olmamalıdır. Kuyruğu arkadaki bir öğeye göre kısaltmak için bunu kullanırsınız.

Örnek

// cliext_priority_queue_pop.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // pop an element and redisplay
    c1.pop();
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
c a b
b a

priority_queue::priority_queue (STL/CLR)

Kapsayıcı bağdaştırıcısı nesnesi oluşturur.

Sözdizimi

priority_queue();
priority_queue(priority_queue<Value, Container> right);
priority_queue(priority_queue<Value, Container> right);
explicit priority_queue(value_compare^ pred);
priority_queue(value_compare^ pred, container_type% cont);
template<typename InIt>
    priority_queue(InIt first, InIt last);
template<typename InIt>
    priority_queue(InIt first, InIt last,
        value_compare^ pred);
template<typename InIt>
    priority_queue(InIt first, InIt last,
        value_compare^ pred, container_type% cont);

Parametreler

Devam
Kopyalanacak kapsayıcı.

Ilk
Eklenecek aralığın başlangıcı.

Son
Eklenecek aralık sonu.

Pred
Denetlenen sıra için sıralama koşulu.

Doğru
Eklenecek nesne veya aralık.

Açıklamalar

Oluşturucu:

priority_queue();

, varsayılan sıralama koşuluyla boş bir sarmalanmış kapsayıcı oluşturur. Varsayılan sıralama koşuluyla boş bir ilk denetimli sıra belirtmek için bunu kullanırsınız.

Oluşturucu:

priority_queue(priority_queue<Value, Container>% right);

, sipariş koşuluyla right.value_comp()bir kopyası right.get_container()olan sarmalanmış bir kapsayıcı oluşturur. Bunu, aynı sıralama koşuluyla sıra nesnesi tarafından denetlenen sıranın bir kopyası olan ilk denetimli bir dizi belirtmek için kullanırsınız.

Oluşturucu:

priority_queue(priority_queue<Value, Container>^ right);

, sipariş koşuluyla right->value_comp()bir kopyası right->get_container()olan sarmalanmış bir kapsayıcı oluşturur. Bunu, aynı sıralama koşuluna sahip kuyruk nesnesi *righttarafından denetlenen sıranın bir kopyası olan ilk denetimli diziyi belirtmek için kullanırsınız.

Oluşturucu:

explicit priority_queue(value_compare^ pred);

, sıralama koşuluyla birlikte boş bir sarmalanmış kapsayıcı oluşturur. Belirtilen sıralama koşuluyla boş bir ilk denetimli sıra belirtmek için bunu kullanırsınız.

Oluşturucu:

priority_queue(value_compare^ pred, container_type cont);

boş bir sarmalanmış kapsayıcı oluşturur, sıralama koşulu koşuluyla birlikte, ardından tüm sabit öğelerini iter Bunu, belirtilen sıralama koşuluyla var olan bir kapsayıcıdan ilk denetimli diziyi belirtmek için kullanırsınız.

Oluşturucu:

template<typename InIt> priority_queue(InIt first, InIt last);

varsayılan sıralama koşuluyla boş bir sarmalanmış kapsayıcı oluşturur, ardından [first, last) dizisini iletir. Belirtilen sıralama koşuluyla belirtilen bir eqeuence'tan ilk denetimli diziyi belirtmek için bunu kullanırsınız.

Oluşturucu:

template<typename InIt> priority_queue(InIt first, InIt last, value_compare^ pred);

boş bir sarmalanmış kapsayıcı oluşturur ve sıralama koşulu önceden belirlenir ve [first, last) dizisini iletir. Belirtilen sıralama koşuluyla belirtilen bir seqeuence'tan ilk denetimli diziyi belirtmek için bunu kullanırsınız.

Oluşturucu:

template<typename InIt> priority_queue(InIt first, InIt last, value_compare^ pred, container_type% cont);

, sıralama koşulu önceden oluşturulmuş boş bir sarmalanmış kapsayıcı oluşturur, ardından tüm cont öğelerini ve [first, last) dizisini iter. Bunu, mevcut bir kapsayıcıdan ilk denetimli sırayı ve belirtilen sıralama koşuluyla belirtilen bir seqeuence belirtmek için kullanırsınız.

Örnek

// cliext_priority_queue_construct.cpp
// compile with: /clr
#include <cliext/queue>
#include <cliext/deque>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
typedef cliext::deque<wchar_t> Mydeque;
int main()
    {
// construct an empty container
    Mypriority_queue c1;
    Mypriority_queue::container_type^ wc1 = c1.get_container();
    System::Console::WriteLine("size() = {0}", c1.size());

    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');
    for each (wchar_t elem in wc1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct with an ordering rule
    Mypriority_queue c2 = cliext::greater<wchar_t>();
    System::Console::WriteLine("size() = {0}", c2.size());

    for each (wchar_t elem in wc1)
        c2.push(elem);
    for each (wchar_t elem in c2.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct with an ordering rule by copying an underlying container
    Mypriority_queue c2x =
        gcnew Mypriority_queue(cliext::greater<wchar_t>(), *wc1);
   for each (wchar_t elem in c2x.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct with an iterator range
    Mypriority_queue c3(wc1->begin(), wc1->end());
    for each (wchar_t elem in c3.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct with an iterator range and an ordering rule
    Mypriority_queue c4(wc1->begin(), wc1->end(),
        cliext::greater<wchar_t>());
    for each (wchar_t elem in c4.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct with an iterator range, another container, and an ordering rule
    Mypriority_queue c5(wc1->begin(), wc1->end(),
        cliext::greater<wchar_t>(), *wc1);
    for each (wchar_t elem in c5.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct from a generic container
    Mypriority_queue c6(c3);
    for each (wchar_t elem in c6.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct by copying another container
    Mypriority_queue c7(%c3);
    for each (wchar_t elem in c7.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct with an ordering rule, by copying an underlying container
    Mypriority_queue c8 =
        gcnew Mypriority_queue(cliext::greater<wchar_t>(), *wc1);
    for each (wchar_t elem in c8.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    return (0);
    }
size() = 0
c a b
size() = 0
a c b
a c b
c a b
a c b
a a b c c b
c a b
c a b
a c b

priority_queue::push (STL/CLR)

Yeni bir öğe ekler.

Sözdizimi

void push(value_type val);

Açıklamalar

Üye işlevi, denetlenen diziye değer val içeren bir öğe ekler ve yığın uzmanlık alanını korumak için denetlenen diziyi yeniden sıralar. Kuyruğa başka bir öğe eklemek için bunu kullanırsınız.

Örnek

// cliext_priority_queue_push.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
c a b

priority_queue::reference (STL/CLR)

Bir öğe için bir başvuru türü.

Sözdizimi

typedef value_type% reference;

Açıklamalar

türü, bir öğeye başvuruyu açıklar.

Örnek

// cliext_priority_queue_reference.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display initial contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // modify top of priority_queue and redisplay
    Mypriority_queue::reference ref = c1.top();
    ref = L'x';
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
c a b
x a b

priority_queue::size (STL/CLR)

Öğe sayısını sayar.

Sözdizimi

size_type size();

Açıklamalar

Üye işlevi, denetlenen sıranın uzunluğunu döndürür. Şu anda denetimli dizideki öğelerin sayısını belirlemek için bunu kullanırsınız. Tek ilgilendiğiniz dizinin sıfır olmayan bir boyuta sahip olup olmadığıysa bkz . priority_queue::empty (STL/CLR)().

Örnek

// cliext_priority_queue_size.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display initial contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    System::Console::WriteLine("size() = {0} starting with 3", c1.size());

    // pop an item and reinspect
    c1.pop();
    System::Console::WriteLine("size() = {0} after popping", c1.size());

    // add two elements and reinspect
    c1.push(L'a');
    c1.push(L'b');
    System::Console::WriteLine("size() = {0} after adding 2", c1.size());
    return (0);
    }
c a b
size() = 3 starting with 3
size() = 2 after popping
size() = 4 after adding 2

priority_queue::size_type (STL/CLR)

İki öğe arasındaki imzalı uzaklık türü.

Sözdizimi

typedef int size_type;

Açıklamalar

Türü negatif olmayan öğe sayısını açıklar.

Örnek

// cliext_priority_queue_size_type.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display initial contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // compute positive difference
    Mypriority_queue::size_type diff = c1.size();
    c1.pop();
    c1.pop();
    diff -= c1.size();
    System::Console::WriteLine("size difference = {0}", diff);
    return (0);
    }
c a b
size difference = 2

priority_queue::to_array (STL/CLR)

Denetimli diziyi yeni bir diziye kopyalar.

Sözdizimi

cli::array<Value>^ to_array();

Açıklamalar

üye işlevi, denetlenen diziyi içeren bir dizi döndürür. Denetimli sıranın bir kopyasını dizi biçiminde almak için bunu kullanırsınız.

Örnek

// cliext_priority_queue_to_array.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // copy the container and modify it
    cli::array<wchar_t>^ a1 = c1.to_array();

    c1.push(L'd');
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // display the earlier array copy
    for each (wchar_t elem in a1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
d c b a
c a b

priority_queue::top (STL/CLR)

En yüksek öncelikli öğeye erişir.

Sözdizimi

reference top();

Açıklamalar

Üye işlevi, denetlenen sıranın en üst (en yüksek öncelikli) öğesine bir başvuru döndürür ve bu öğe boş olmamalıdır. Var olduğunu bildiğinizde en yüksek öncelikli öğeye erişmek için bunu kullanırsınız.

Örnek

// cliext_priority_queue_top.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display initial contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // inspect last item
    System::Console::WriteLine("top() = {0}", c1.top());

    // alter last item and reinspect
    c1.top() = L'x';
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }

priority_queue::top_item (STL/CLR)

En yüksek öncelikli öğeye erişir.

Sözdizimi

property value_type back_item;

Açıklamalar

özelliği, denetimli dizinin en üst (en yüksek öncelikli) öğesine erişir ve bu öğe boş olmamalıdır. Var olduğunu bildiğinizde, en yüksek öncelikli öğeyi okumak veya yazmak için bunu kullanırsınız.

Örnek

// cliext_priority_queue_top_item.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display initial contents " a b c"
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // inspect last item
    System::Console::WriteLine("top_item = {0}", c1.top_item);

    // alter last item and reinspect
    c1.top_item = L'x';
    for each (wchar_t elem in c1.get_container())
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
c a b
top_item = c
x a b

priority_queue::value_comp (STL/CLR)

İki öğe için sıralama temsilcisini kopyalar.

Sözdizimi

value_compare^ value_comp();

Açıklamalar

Üye işlevi, denetlenen sırayı sıralamak için kullanılan sıralama temsilcisini döndürür. bunu iki değeri karşılaştırmak için kullanırsınız.

Örnek

// cliext_priority_queue_value_comp.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    Mypriority_queue::value_compare^ vcomp = c1.value_comp();

    System::Console::WriteLine("compare(L'a', L'a') = {0}",
        vcomp(L'a', L'a'));
    System::Console::WriteLine("compare(L'a', L'b') = {0}",
        vcomp(L'a', L'b'));
    System::Console::WriteLine("compare(L'b', L'a') = {0}",
        vcomp(L'b', L'a'));
    System::Console::WriteLine();

    // test a different ordering rule
    Mypriority_queue c2 = cliext::greater<wchar_t>();
    vcomp = c2.value_comp();

    System::Console::WriteLine("compare(L'a', L'a') = {0}",
        vcomp(L'a', L'a'));
    System::Console::WriteLine("compare(L'a', L'b') = {0}",
        vcomp(L'a', L'b'));
    System::Console::WriteLine("compare(L'b', L'a') = {0}",
        vcomp(L'b', L'a'));
    return (0);
    }
compare(L'a', L'a') = False
compare(L'a', L'b') = True
compare(L'b', L'a') = False

compare(L'a', L'a') = False
compare(L'a', L'b') = False
compare(L'b', L'a') = True

priority_queue::value_compare (STL/CLR)

İki değer için sıralama temsilcisi.

Sözdizimi

binary_delegate<value_type, value_type, int> value_compare;

Açıklamalar

türü, temsilcinin ilk bağımsız değişkenin ikinciden önce sıralanıp sıralı olmadığını belirleyen bir eş anlamlıdır.

Örnek

// cliext_priority_queue_value_compare.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    Mypriority_queue::value_compare^ vcomp = c1.value_comp();

    System::Console::WriteLine("compare(L'a', L'a') = {0}",
        vcomp(L'a', L'a'));
    System::Console::WriteLine("compare(L'a', L'b') = {0}",
        vcomp(L'a', L'b'));
    System::Console::WriteLine("compare(L'b', L'a') = {0}",
        vcomp(L'b', L'a'));
    System::Console::WriteLine();

    // test a different ordering rule
    Mypriority_queue c2 = cliext::greater<wchar_t>();
    vcomp = c2.value_comp();

    System::Console::WriteLine("compare(L'a', L'a') = {0}",
        vcomp(L'a', L'a'));
    System::Console::WriteLine("compare(L'a', L'b') = {0}",
        vcomp(L'a', L'b'));
    System::Console::WriteLine("compare(L'b', L'a') = {0}",
        vcomp(L'b', L'a'));
    return (0);
    }
compare(L'a', L'a') = False
compare(L'a', L'b') = True
compare(L'b', L'a') = False

compare(L'a', L'a') = False
compare(L'a', L'b') = False
compare(L'b', L'a') = True

priority_queue::value_type (STL/CLR)

Öğenin türü.

Sözdizimi

typedef Value value_type;

Açıklamalar

Tür, Value şablon parametresinin eş anlamlısıdır.

Örnek

// cliext_priority_queue_value_type.cpp
// compile with: /clr
#include <cliext/queue>

typedef cliext::priority_queue<wchar_t> Mypriority_queue;
int main()
    {
    Mypriority_queue c1;
    c1.push(L'a');
    c1.push(L'b');
    c1.push(L'c');

    // display reversed contents " a b c" using value_type
    for (; !c1.empty(); c1.pop())
        {   // store element in value_type object
        Mypriority_queue::value_type val = c1.top();

        System::Console::Write("{0} ", val);
        }
    System::Console::WriteLine();
    return (0);
    }
c b a