«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как объявить очередь приоритетов с помощью специального компаратора в C++?

Как объявить очередь приоритетов с помощью специального компаратора в C++?

Опубликовано 15 ноября 2024 г.
Просматривать:291

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

Объявление приоритетной очереди с помощью пользовательского компаратора в C

В C при попытке объявить приоритетную очередь, использующую собственный компаратор, важно правильно определить компаратор. Ошибка «Сравнить» не является именем типа возникает, когда компаратор не объявлен как класс или отдельная функция.

Чтобы решить эту проблему, вы можете определить класс для компаратора и перегрузить оператор() для это, как показано в следующем примере:

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

В качестве альтернативы вы можете использовать функцию std::function для определения компаратора, как показано ниже:

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

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

Следуя этим подходам, вы можете эффективно объявить приоритет очередь с пользовательским компаратором в C .

Заявление о выпуске Эта статья перепечатана по адресу: 1729743201. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3