Skip to main content

Operator Overloading Vs priority_queue in C++

priority_queue ডিফল্ট ভাবে বড় ডাটা কে টপে নিয়ে আশে । আমরা যদি < অপারেটর ওভারলোড করি তবে আমাদের মাথায় রাখতে হবে যে STL priority_queue হল ম্যাক্স priority_queue যার অর্থ ম্যাক্স উপদান কে সবার প্রথমে নিয়ে আসবে । এটা কে min priority_queue এ নিয়ে আসতে হলে

return a.age < b.age; 
এই লাইন কে ,
return a.age > b.age;
এই লাইন দিয়ে পরিবর্তন করতে হবে ।

কোড :

Output : 10 9 8 7 6 5 4 3 2 1

এখন আমরা যদি আউটপুট কে 1 2 3 4 5 6 7 8 9 10 দেখাতে চাই তবে ১২ নং লাইন পরিবর্তন করে লিখতে হবে
return a.age > b.age;


ধন্যবাদ :)

Comments

Popular posts from this blog

[Python] *args vs **Kwargs

পাইথনে ফাংশন আর্গুমেন্ট *args ও **kwargs আমরা মাঝে মাঝেই পাইথনের ফাংশনের প্যারামিটার হিসাবে *args, ** kwargs কে দেখতে পাই । তো এগুলো আসলে কি ? এবং এগুলো কিভাবে কাজ করে ? এই দুইটা বুঝতে হলে প্রথমে আমাদের আর্গুমেন্ট কি সেটা বুঝতে হবে । আর্গুমেন্ট কোন ফাংশন কল করার সময় আমার ফাংশনে যে ভেলু pass করি করি সেটা কে বলা হয় আর্গুমেন্ট । পাইথনে দুই ধরনের আর্গুমেন্ট আছে, Keyword Argument. Positional Argument. Keyword Argument যে সকল আর্গুমেন্টের সাথে তার আইডেন্টিফায়ার থাকে সেসব আর্গুমেন্ট কে keyword argument বলে । উদাহরণ দিলে পরিষ্কার হয়ে যাবে। মনে করেন আমাদের এইরকম একটা ফাংশন আছে, উপরে আমরা ৪ নং লাইনে ফাংশন কল করার সময় যে দুইটা আর্গুমেন্ট pass করলাম সেটাকে বলা হয় keyword argument. এখানে name = 'Arif' এ name এবং age = 24 এর age আর্গুমেন্ট দুইটির আইডেন্টিফায়ার । কারণ name, age দিয়ে আমরা আলাদা ভাবে দুইটা আর্গুমেন্টকে আইডেন্টিফাই করতে পারছি । Positional Argument যে আর্গুমেন্ট গুলো keyword argument না সেগুলো কে positional argument বলে । এই ধরনের আর্গুমেন্টের কোন আইডেন্টি...