Skip to main content

STL শেখা পর্ব -৩ ( সর্টিং )



সর্টিং নিয়ে কিছু নোট করে রাখি ।

আহা ! কি কষ্ট রে বাপ ।
যখন মনে হয় একটা অ্যারে কে সর্ট করতে কত কি ই না করতাম ...
অমুক সর্ট তমুক সর্ট ...
কিন্তু এখন বাবা যুগ পাল্টাইছে ...
শুধু সর্ট লেখলেই ইয়ব্বড় অ্যারে সর্ট হইয়া যাইতেছে ! ভাবা যায় এগ্লা !!
 হেডার ফাইলে শুধু যোগ করো ..
.  #include<algorithm>
তারপরে আর কি করবা ?
দেখো ,কোড দেখো আর সেই সাথে দেখো আউটপুট ।
আশা করা যায় বুঝার বাকি থাকবে না কিছু ।




ব্যাপার টা খুব ই রোমান্টিক ।

আচ্ছা, আরেকটা কথা বলি ?

এটা তো গেলো সোজা ভাবে সর্ট করা । কিন্তু পাব্লিক তো মাঝে মাঝে উল্টাও চায় ।
মানে এখন তো ছোট থেকে বড় ভাবে সর্ট হইছে ,কিন্তু বড় থেকে ছোট করতে বললে কেমনে কি ??

আচ্ছা দেখি কেমনে কি ...




একটা বুল ফাংশন ক্রিয়েট করিলাম তাহার পরে ২টা প্যারা মিটার নিলাম যারা ভেলু নিবে সর্ট থেকে ,তারপরে ভেলু গুলা রিটার্ন করবে এমন ভাবে যেনো সামনের টা পরের টার চাইতে বড় হয় ।
তাই লিখলাম
       return(a>b);

ধরো অ্যারে এর শুধু প্রথম ৩টা সংখ্যা সর্ট করতে চাই, তাইলে ...



সাধারণ অ্যারে কে  Sort করতে চাইলে শুধু হেডার ফাইল  #include<algorithm>
 যোগ করতে হবে । আর বাকি প্রসেস টা সেইম ই হবে ।




সর্ট ফাংশন এর ভিতরে লিখেছি  sort(ar,ar+5);
এর মানে কি ?
এর মানে হলো সর্টিং শুরু হবে ০ নাম্বার ইন্ডেক্স থেকে আর চলবে ৫ নাম্বার ইন্ডেক্স পর্যন্ত ।

যদি sort(ar,ar+3);

দিতাম তাইলে প্রথম ৩টা এলিমেন্ট ই শুধু সর্ট হইত ।

এখন একটা কথা বুঝা যাচ্ছে , সেটা হলো আমি চাইলে অ্যারে এর যে কোনো অংশ সর্ট করতে পারি ।

আমার মন চাইসে ১০ টা এলিমেন্ট আছে এমন অ্যারে এর ৩ থেকে ৭ নাম্বার ইন্ডেক্স  পর্যন্ত যারা আছে শুধু তাদের কেই সর্ট করবো । বাকি রা যেমনে আছে অউটপুটে তেমন ই থাকবে ।
তাইলে করা যাক !




মজা না ব্যাপার টা !  -------------------------------------

Written By -