কম্পিউটার টিউটোরিয়াল

C++ STL-এ list unique() ফাংশন


এই টাস্কে 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

  1. C++ STL-এ List reverse ফাংশন

  2. C++ STL-এ list emplace() ফাংশন

  3. C++ STL-এ List assign() ফাংশন

  4. C++ STL-এ list back() ফাংশন