লেক্সিকোগ্রাফিক্যাল_কম্পার() ফাংশন C++ ব্যবহার করে ভেক্টর কিভাবে সাজানো যায়

Leksikographikyala Kampara Phansana C Byabahara Kare Bhektara Kibhabe Sajano Yaya



ফাংশন হল নির্দেশাবলীর একটি সেট যা একটি নির্দিষ্ট কাজ সম্পাদন করে। এটি কোড সংগঠিত, মডুলার এবং পুনরায় ব্যবহারযোগ্য করতে ব্যবহৃত হয়। C++ এ, ফাংশনগুলি কোডকে সহজ করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। উদাহরণস্বরূপ, ' অভিধানিক_তুলনা() ” ফাংশনটি অভিধানিকভাবে দুটি ক্রম বা রেঞ্জের তুলনা করতে ব্যবহৃত হয়।

এই ব্যাপক নির্দেশিকাতে, আমরা প্রোগ্রামের সাথে C++-এ “lexicographical_compare()” ফাংশন প্রদর্শন করব।

C++ এ 'লেক্সিকোগ্রাফিক্যাল_কম্পার()' ফাংশন কি?

C++ এ, 'লেক্সিকোগ্রাফিকাল_কম্পার()' ফাংশনটি একটি ক্রমানুসারে উপাদানের তুলনা এবং বাছাই করার জন্য একটি অত্যন্ত কার্যকর ক্রিয়াকলাপ (লেক্সিকোগ্রাফিক্যাল ক্রম)। এটি সংশ্লিষ্ট ক্রম নির্ধারণ করার সুবিধা প্রদান করে যা রেঞ্জ এবং স্ট্রিংগুলির মতো অনুক্রমের তুলনা করার ফলাফল। এই ফাংশনটি ব্যবহার করে C++ এ অ্যাক্সেসযোগ্য <অ্যালগরিদম> ' শিরোনাম ফাইল।







বাক্য গঠন



এখানে C++ এ “লেক্সিকোগ্রাফিক্যাল_কম্পার()” ফাংশনের সিনট্যাক্স রয়েছে:



টেমপ্লেট < ক্লাস InputIter1, ক্লাস InputIter2 >
bool অভিধানিক_তুলনা ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;

উপরে প্রদত্ত কোড অনুসারে, ' অভিধানিক_তুলনা() ' ফাংশন দুই জোড়া রেঞ্জ গ্রহণ করে ' প্রথম1 ' এবং ' শেষ1 'প্রথম পরিসরের জন্য ইনপুট পুনরাবৃত্তিকারী এবং ' প্রথম2 ' এবং ' শেষ2 ” রেঞ্জ সেকেন্ডের জন্য ইনপুট পুনরাবৃত্তিকারী। এটি অভিধানিক ক্রমে উভয় পরিসর উপাদানের সাথে মেলে।





রিটার্ন টাইপ: এটি বুলিয়ান মান (সত্য বা মিথ্যা) প্রদান করে। প্রথম পরিসরটি দ্বিতীয় পরিসরের চেয়ে অভিধানগতভাবে ছোট হলে এটি সত্যে ফিরে আসবে অন্যথায় মিথ্যা দেখাবে।

ব্যতিক্রম: তুলনা করার সময় যদি একটি ত্রুটি পাওয়া যায় তবে এটি একটি ব্যতিক্রম নিক্ষেপ করবে।



লেক্সিকোগ্রাফিক্যাল_কম্পার() ফাংশন C++ ব্যবহার করে ভেক্টর কিভাবে সাজানো যায়

'লেক্সিকোগ্রাফিক্যাল_কম্পার()' ফাংশনটি প্রায়শই উপাদানের ক্রম খুঁজে বের করার জন্য সাজানোর কৌশলগুলিতে ব্যবহৃত হয়। পরিসীমা শেষ না হওয়া পর্যন্ত এটি উপাদানের নিজ নিজ ক্রম মেলে।

lexicograpical_compare() ফাংশন সাজানোর উদাহরণ এবং স্ট্রিং ভেক্টর তুলনা করুন

আসুন প্রদত্ত উদাহরণটি দেখুন যা প্রদর্শন করে ' সাজান() 'সহ পদ্ধতি' অভিধানিক_তুলনা() ”:

# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত <ভেক্টর>
# অন্তর্ভুক্ত <অ্যালগরিদম>
ব্যবহার নামস্থান std ;

এখানে:

  • ' ” ইনপুট এবং আউটপুট অপারেশনের জন্য ব্যবহৃত হয়।

' <ভেক্টর> ” হল একটি C++ স্ট্যান্ডার্ড লাইব্রেরি কন্টেইনার ক্লাস এবং ডায়নামিক অ্যারে ক্ষমতা অফার করে এমন টেমপ্লেট ধরে রাখতে ব্যবহৃত হয়।

  • ' <অ্যালগরিদম> 'লেক্সিকোগ্রাফিক্যাল_কম্পার()' ফাংশনের জন্য 'সর্ট()' পদ্ধতি অ্যাক্সেস করতে হেডার ফাইল ব্যবহার করা হয়।
  • ' নামস্থান std ব্যবহার করে 'কে একটি নির্দেশ হিসাবে উল্লেখ করা হয় যা স্পষ্টভাবে 'std' উপসর্গটি উল্লেখ না করে নামস্থান থেকে সমস্ত নাম ব্যবহার করে।

এরপর, ভিতরে ' প্রধান() ' ফাংশন, আমরা দুটি ভেক্টর শুরু করেছি ' vect1 ' এবং ' vect2 ” একই স্ট্রিং দিয়ে। এর পরে, ' সাজান() উভয় ভেক্টরের আভিধানিক ক্রমে উপাদানগুলিকে সাজানোর পদ্ধতি vect1.begin() ' এবং ' vector1.end() 'vect1' এবং 'এর জন্য পুনরাবৃত্তিকারীর পরিসর vect2.begin() ' এবং ' vect2.end() 'vect2' এর জন্য পরিসীমা। তারপর, আমন্ত্রণ জানালেন ' অভিধানিক_তুলনা() ” ফাংশন যা উভয় ভেক্টরের জন্য চারটি আর্গুমেন্ট নেয়।

ফলাফল সংরক্ষণ করা হবে ' bool 'এ টাইপ করুন' ফলাফল ' ভেরিয়েবল এবং সত্য প্রত্যাবর্তন করে যদি 'vect1' পরিসরটি অভিধানগতভাবে 'vect2' পরিসরের চেয়ে ছোট হয় এবং অন্যথায় মিথ্যা হয়। অবশেষে, প্রয়োগ করুন ' যদি ফলাফল প্রদর্শনের জন্য বিবৃতি। যদি ' ফলাফল 'সত্য এর মানে 'vect1' অভিধানিকভাবে ' > 'vect2' এর চেয়ে। অন্যথায়, অন্য শর্তটি কার্যকর করা হবে:

int প্রধান ( ) {
ভেক্টর < স্ট্রিং > vect1 = { 'বসন্ত' , 'গ্রীষ্ম' , 'শরৎ' , 'শীতকাল' } ;
ভেক্টর < স্ট্রিং > vect2 = { 'বসন্ত' , 'গ্রীষ্ম' } ;

সাজান ( vect1. শুরু ( ) , vect1. শেষ ( ) ) ;
সাজান ( vect2. শুরু ( ) , vect2। শেষ ( ) ) ;
// lexicographical_compare() ব্যবহার করে উভয় ভেক্টরের তুলনা করুন
bool ফলাফল = অভিধানিক_তুলনা (
vect1. শুরু ( ) , vect1. শেষ ( ) ,
vect2. শুরু ( ) , vect2। শেষ ( )
) ;

যদি ( ফলাফল ) {
cout << 'vect1 vect2 এর চেয়ে অভিধানগতভাবে বড়' << endl ;
} অন্য যদি ( অভিধানিক_তুলনা (
vect2. শুরু ( ) , vect2। শেষ ( ) ,
vect1. শুরু ( ) , vect1. শেষ ( )
) ) {
cout << 'vect1 vect2 থেকে অভিধানগতভাবে কম' << endl ;
} অন্য {
cout << 'vect1 আভিধানিকভাবে vect2 এর সমান' << endl ;
}
ফিরে 0 ;
}

আউটপুট

এখানেই শেষ! আপনি 'সম্পর্কে শিখেছেন অভিধানিক_তুলনা() C++ এ ফাংশন।

উপসংহার

C++ এ, 'লেক্সিকোগ্রাফিক্যাল_কম্পার()' ফাংশনটি আভিধানিক ক্রমে উপাদানের ক্রম সাজাতে এবং মেলাতে ব্যবহৃত হয়। আপেক্ষিক ক্রম খুঁজে বের করার জন্য “lexicogragical_compare()” পদ্ধতির সাথে সাজানোর অ্যালগরিদম ব্যাপকভাবে প্রয়োগ করা হয়। এই টিউটোরিয়ালে, আমরা C++-এ “lexicographical_compare()” ফাংশন প্রদর্শন করেছি।