STL-এ ছোটো থেকে বড়ো ক্রমে (ascending order) সর্ট করার জন্য sort(a.begin(), a.end()); লিখলেই চলে। আচ্ছা এসটিএলে যেহেতু আছে, সেহেতু বড়ো থেকে ছোটো ক্রমে (descending order) সর্টিংয়ের ব্যবস্থাও তো থাকার কথা। সেটা কি আছে?

asked 03 Mar, 03:21

pollob1563's gravatar image

pollob1563
2518

edited 04 Mar, 09:58

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
83718


std::sort()-এর একটি ডেফিনিশন হচ্ছে

template <class RandomAccessIterator, class Compare>
    void sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp);

ফাংশনটি কল করার সময় তৃতীয় প্যারামিটার হিসেবে একটি ফাংশন পাস করলে সে অনুযায়ী সর্ট হবে। বড়ো থেকে ছোটো ক্রমে সর্ট করার জন্য sort()-কে আমরা নিচের মতো করে ব্যবহার করতে পারি –

sort(arr, arr+n, greater<int>());

greater<>() সম্পর্কে এখানে আরও বিস্তারিত জানা যাবে।

চাইলে আমরা নিজেরাও একটি ফাংশন লিখে দিতে পারি –

bool myfun(int i, int j) {
    return (i > j);
}
... ... ...
sort(arr, arr+n, myfun);

সি এবং সি++ প্রোগ্রামারদের জন্য en.cppreference.com এবং cplusplus.com সাইট দুটি অনেক কাজের। প্রয়োজনের সময় এখানে দ্রুত যেকোনো রেফারেন্স দেখে নেওয়া যায়।

permanent link

answered 04 Mar, 10:23

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
83718

edited 04 Mar, 10:28

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×133
×17
×14

question asked: 03 Mar, 03:21

question was seen: 85 times

last updated: 04 Mar, 10:28