Module ১২ · sort, comparator আর lambda: algorithm-কে বলে দাও তুমি কী চাও
সাজানোর প্রতিটা call আর নিয়ম লেখার প্রতিটা উপায়, খরচসহ
Account থাকলেই freeপড়া
Bob ওর দোকানের দামগুলো বড় থেকে ছোট ক্রমে চায়। ও আগে ছোট থেকে বড় সাজায়, তারপর for (int i = n; i >= 0; i--) দিয়ে উল্টো দিক থেকে print করে। Screen-এর প্রথম সংখ্যাটা এমন, যেটা কোনো খদ্দের কখনো type করেনি: v[n] হলো শেষের এক জায়গা পরে, আর ওটা পড়া undefined behaviour। ওর loop-এর দরকার ছিল i = n - 1। কিন্তু আসলে উল্টো loop-এরই দরকার ছিল না। "বড় থেকে ছোট" কথাটা sort-কেই বলে দেওয়ার উপায় আছে, অন্য যেকোনো ক্রমও।
আপনার জন্য এই lesson টা খোলা কি না দেখা হচ্ছে…
সাজানোর প্রতিটা call আর নিয়ম লেখার প্রতিটা উপায়, খরচসহ এর ভেতরে কী আছে
- sort: পুরো range, ছোটটা আগে
- greater<int>() দিয়ে sort: বড়টা আগে
- Range-এর একটা অংশ
- সাধারণ array, begin() আর end() দিয়েও
- list-এ কেন না: বদলে list::sort()
- stable_sort: সমান জিনিস নিজের ক্রম রাখে
- partial_sort আর nth_element, এক ঝলক
- is_sorted আর is_sorted_until
- নিয়ম হিসেবে একটা নাম-ওয়ালা function
- নিয়ম হিসেবে একটা function object
- less, greater, আর pair-এর আগে থেকেই থাকা <
- Lambda, টুকরো টুকরো করে
- জায়গাতেই লেখা একটা lambda
- Capture: by value [t] আর by reference [&t]
- [=], [&], প্রশ্ন গোনা, আর mutable
- প্রতিটা comparator যে তিনটা নিয়ম মানেIntermediate
- সব খরচ এক table-এ