"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como declarar uma fila prioritária com um comparador personalizado em C++?

Como declarar uma fila prioritária com um comparador personalizado em C++?

Publicado em 15/11/2024
Navegar:338

How to Declare a Priority Queue with a Custom Comparator in C  ?

Declarando uma fila de prioridade com um comparador personalizado em C

Em C , ao tentar declarar uma fila de prioridade que utiliza um comparador personalizado, é essencial definir o comparador corretamente. O erro "Compare" is not a type name surge quando o comparador não é declarado como uma classe ou função autônoma.

Para resolver isso, você pode definir uma classe para o comparador e sobrecarregar o operador() para conforme demonstrado no exemplo a seguir:

class Compare
{
public:
    bool operator() (Node a, Node b)
    {
        // Comparator logic
    }
};

Alternativamente, você pode utilizar uma função std::para definir o comparador, conforme mostrado abaixo:

bool Compare(Node a, Node b)
{
    // Comparator logic
}

std::priority_queue, std::function> pq(Compare);

Seguindo essas abordagens, você pode efetivamente declarar uma prioridade fila com um comparador personalizado em C .

Declaração de lançamento Este artigo foi reimpresso em: 1729743201 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3