सी में एक कस्टम तुलनित्र के साथ एक प्राथमिकता कतार की घोषणा करना
सी में, जब एक प्राथमिकता कतार घोषित करने का प्रयास किया जाता है जो एक कस्टम तुलनित्र का उपयोग करता है, तुलनित्र को सही ढंग से परिभाषित करना आवश्यक है। त्रुटि "तुलना करें" एक प्रकार का नाम नहीं है तब उत्पन्न होती है जब तुलनित्र को एक वर्ग या स्टैंडअलोन फ़ंक्शन के रूप में घोषित नहीं किया जाता है।
इसे हल करने के लिए, आप तुलनित्र के लिए एक वर्ग को परिभाषित कर सकते हैं और ऑपरेटर() को ओवरलोड कर सकते हैं यह, जैसा कि निम्नलिखित उदाहरण में दिखाया गया है:
class Compare
{
public:
bool operator() (Node a, Node b)
{
// Comparator logic
}
};
वैकल्पिक रूप से, आप तुलनित्र को परिभाषित करने के लिए एक std::फ़ंक्शन का उपयोग कर सकते हैं, जैसा कि नीचे दिखाया गया है:
bool Compare(Node a, Node b)
{
// Comparator logic
}
std::priority_queue, std::function> pq(Compare);
इन तरीकों का पालन करके, आप प्रभावी ढंग से प्राथमिकता घोषित कर सकते हैं सी में एक कस्टम तुलनित्र के साथ कतार।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3