এই টাস্কে C++ STL-এ list unique() ফাংশনের কার্যকারিতা দেখানো হবে।
STL-এ List কী
List হলো কন্টেইনার যেগুলো সিকোয়েন্সে যেকোনো জায়গায় কনস্ট্যান্ট টাইমে ইনসারশন এবং ডিলিশন করার সুবিধা দেয়। লিস্টগুলো ডাবলি লিংকড লিস্ট হিসেবে ইমপ্লিমেন্টেড। লিস্ট নন-কন্টিগ্যুয়াস মেমরি অ্যালোকেশন অনুমতি দেয়। লিস্ট অ্যarray, vector এবং deque-র চেয়ে যেকোনো পজিশনে এলিমেন্ট ইনসার্ট, এক্সট্র্যাক্ট এবং মুভ করার ক্ষেত্রে ভালো পারফর্ম করে। লিস্টে এলিমেন্টে ডায়রেক্ট অ্যাক্সেস ধীর এবং লিস্ট forward_list-এর সাথে মিল্টি-जুলتی, কিন্তু forward list অবজেক্টগুলো সিঙ্গলি লিংকড লিস্ট এবং সেগুলো শুধু ফরওয়ার্ডে ইটারেট করা যায়।
unique() কী
List unique() লিস্টে সব ডুপ্লিকেট এলিমেন্ট রিমুভ করতে ব্যবহৃত হয়।
সিনট্যাক্স
list_name.unique(binarypredicate name)
বাইনারি প্রিডিকেটের জন্য সিনট্যাক্স
Bool name(data_type a, data_type b)
প্যারামিটার
এই ফাংশন একটি সিঙ্গেল প্যারামিটার গ্রহণ করে যা একটি বাইনারি প্রিডিকেট যা true রিটার্ন করে যদি এলিমেন্টগুলো সমান বিবেচনা করা হয়।
উদাহরণ
ইনপুট List – 2 2 6 7 9 9 9 10 5 5
আউটপুট নতুন List – 2 5 6 7 9 10
ইনপুট List – 3.14 5.56 7.62 9.00 0.45 7.62 9.00 7.62 0.45 3.00
আউটপুট নতুন List – 0.45 3.00 3.14 5.56 7.62 9.00
অনুসরণযোগ্য পদ্ধতি
প্রথমে বাইনারি প্রিডিকেট ফাংশন তৈরি করুন।
তারপর লিস্ট ইনিশিয়ালাইজ করুন।
তারপর unique() ফাংশন ডিফাইন করুন।
তারপর unique অপারেশনের পর লিস্ট প্রিন্ট করুন।
উপরের পদ্ধতি ব্যবহার করে লিস্ট থেকে ডুপ্লিকেট এলিমেন্ট রিমুভ করা যায়।
উদাহরণ
/ / C++ code to demonstrate the working of list unique( ) function in STL #include <iostream.h> #include<list.h> Using namespace std; / / function for binary predicate Bool cmp(int a, int b){ Return (abs(a) == abs(b)) } int main ( ){ List<int> list = { 13, 14, 13, 19, 20, 19, 15, 19, 20, 15, 15 }; / / print the list cout<< “ Elements in List: “; for( auto x = List.begin( ); x != List.end( ); ++x) cout<< *x << “ “; / / declaring unique( ) function list.unique(cmp); / / printing new list after unique operation cout<< “List after unique operation: “; for( x=list.begin( ); x != list.end( ); ++x) cout<< “ “<<*x; return 0; }আউটপুট
যদি উপরের কোডটি রান করানো হয় তবে নিচের আউটপুট জেনারেট হবে:
Input - Element in List : 13 14 13 19 20 19 15 19 20 15 Output - List after unique operation : 13 14 15 19 20
উদাহরণ
/ / C++ code to demonstrate the working of list unique( ) function in STL #include<iostream.h> #include<list.h> Using namespace std; / / function for binary predicate Bool cmp(float a, float b){ Return (abs(a) == abs(b)) } int main ( ){ List <float>t; list = { 3.14, 5.56, 7.62, 9.00, 0.45, 7.62, 9.00, 7.62, 0.45, 3.00 }; / / print the list cout<< “ Elements in List: “; for( auto x = List.begin( ); x != List.end( ); ++x) cout<< *x << “ “; / / declaring unique( ) function list.unique(cmp); / / printing new list after unique operation cout<< “List after unique operation: ”; for( x=list.begin( ); x != list.end( ); ++x) cout<< “ “<<*x; return 0; }আউটপুট
যদি উপরের কোডটি রান করানো হয় তবে নিচের আউটপুট জেনারেট হবে:
Input - Element in List: 3.14 5.56 7.62 9.00 0.45 7.62 9.00 7.62 0.45 3.00 Output - List after unique operation: 0.45 3.00 3.14 5.56 7.62 9.00