লেক্সিকোগ্রাফিক্যাল ক্রম বোঝায় যেভাবে শব্দগুলিকে তালিকায় ক্রমানুসারে সাজানো হয়, তাদের বর্ণমালা অনুসারে বর্ণানুক্রমিক ক্রম অনুসারে। যেমন −
List of words: Harry Adam Sam Lexicographical order of words: Adam Harry Sam
আভিধানিক ক্রমে উপাদানগুলিকে সাজানোর একটি প্রোগ্রাম নিম্নরূপ -
উদাহরণ
#include <iostream> using namespace std; int main() { int i,j; string s[5], temp; cout<<"Enter the elements..."<<endl; for(i = 0; i < 5; ++i) getline(cin, s[i]); for(i = 0; i < 4; ++i) for(j = i+1; j < 5; ++j) { if(s[i] > s[j]) { temp = s[i]; s[i] = s[j]; s[j] = temp; } } cout << "The elements in lexicographical order are... " << endl; for(int i = 0; i < 5; ++i) cout << s[i] << endl; return 0; }
আউটপুট
উপরের প্রোগ্রামটির আউটপুট নিম্নরূপ -
Enter the elements… Orange Grapes Mango Apple Guava The elements in lexicographical order are... Apple Grapes Guava Mango Orange
উপরের প্রোগ্রামে, স্ট্রিং s[] সংজ্ঞায়িত করা হয় এবং উপাদানগুলি ব্যবহারকারী দ্বারা প্রবেশ করা হয়। এটি নীচে দেওয়া হল -
string s[5], temp; cout<<"Enter the elements..."<<endl; for(i = 0; i < 5; ++i) getline(cin, s[i]);
লুপগুলির জন্য নেস্টেড ব্যবহার করে উপাদানগুলিকে বর্ণানুক্রমিকভাবে সাজানো হয়। এর জন্য কোড স্নিপেট নিম্নরূপ -
for(i = 0; i < 4; ++i) for(j = i+1; j < 5; ++j) { if(s[i] > s[j]) { temp = s[i]; s[i] = s[j]; s[j] = temp; } }
অবশেষে অভিধানিক ক্রমে সমস্ত উপাদান প্রদর্শিত হয়। এটি নীচে দেওয়া হল -
cout << "The elements in lexicographical order are... " << endl; for(int i = 0; i < 5; ++i) cout << s[i] << endl;