কম্পিউটার

C++ STL-এ list_remove( ) এবং list remove_if( )


STL-এ C++-এ কার্যকারিতা তালিকা remove( ) এবং list remove_if( ) ফাংশন দেখানোর কাজ দেওয়া হয়েছে।

STL এ তালিকা কি?

তালিকা হল ধারক যা ক্রমাগত সময় সন্নিবেশ এবং ক্রমানুসারে কোথাও মুছে ফেলার অনুমতি দেয়। Listare দ্বিগুণ লিঙ্কযুক্ত তালিকা হিসাবে প্রয়োগ করা হয়েছে। তালিকা অ-সংলগ্ন মেমরি বরাদ্দের অনুমতি দেয়। লিস্ট অ্যারে, ভেক্টর এবং ডিক এর চেয়ে কন্টেইনারে যেকোন অবস্থানে উপাদানের সন্নিবেশ নিষ্কাশন এবং সরানো ভাল করে। তালিকায় উপাদানটির সরাসরি অ্যাক্সেস ধীর এবং তালিকাটি ফরওয়ার্ড_লিস্টের অনুরূপ, তবে ফরোয়ার্ড তালিকা অবজেক্টগুলি একক লিঙ্কযুক্ত তালিকা এবং সেগুলি কেবলমাত্র ফরোয়ার্ড করা যেতে পারে৷

রিমুভ() কি?

এই ফাংশনটি ফাংশনে প্যারামিটারে পাস করা প্রদত্ত মান অপসারণ করতে ব্যবহৃত হয়।

সিনট্যাক্স

listname.remove(val);

প্যারামিটার

val - এটি মুছে ফেলার মান নির্ধারণ করে৷

উদাহরণ

ইনপুট তালিকা:1 2 3 3 4 5 আউটপুট নতুন তালিকা:1 2 4 5 এই তালিকার উপাদান 3টি সরানো হয়েছে৷ ইনপুট তালিকা:5 6 7 8 8 8 9আউটপুট নতুন তালিকা:5 7 8 8 8 9 এই তালিকার উপাদানটিতে 6 ইঞ্চি সরানো হয়েছে 

পন্থা অনুসরণ করা যেতে পারে

  • প্রথমে আমরা তালিকা ঘোষণা করি।

  • তারপর আমরা তালিকা প্রিন্ট করি।

  • তারপর আমরা রিমুভ() ফাংশন সংজ্ঞায়িত করি।

উপরের পদ্ধতিটি ব্যবহার করে আমরা প্রদত্ত উপাদানটি সরিয়ে ফেলতে পারি।

উদাহরণ

STL#include#includeনেমস্পেস ব্যবহার করে std;int main ( ){ List list ={ 21 , 24, 28, 26, 27, 25}; // তালিকা প্রিন্ট করুন cout<<" তালিকা:"; for( auto x =list.begin(); x !=list.end(); ++x) cout<<*x <<" "; // সংজ্ঞায়িত রিমুভ( ) ফাংশন লিস্ট। রিমুভ(27); cout<<"নতুন তালিকা:"; for( x =list.begin(); x !=list.end(); ++x) cout<<' " " <<*x; ফেরত 0;}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তাহলে এটি নিম্নলিখিত আউটপুট তৈরি করবে

ইনপুট - তালিকা:21 24 28 26 27 25 আউটপুট - নতুন তালিকা:21 24 28 26 25 ইনপুট - তালিকা:45 46 47 48 49 50 আউটপুট - নতুন তালিকা:45 46 48 49 পূর্বেremove_if( ) ফাংশন কি? 

এই ফাংশনটি সেই মানগুলি অপসারণ করতে ব্যবহৃত হয় যা পূর্বাভাস দিতে সত্য ফেরত দেয় বা প্যারামিটার হিসাবে পাস করা শর্তের জন্য সত্য ফেরত দেয়।

সিনট্যাক্স

listname.remove_if(predicate)

প্যারামিটার

ভবিষ্যদ্বাণী − এটি একটি শর্তসাপেক্ষকে প্যারামিটার হিসাবে সংজ্ঞায়িত করে৷

উদাহরণ

ইনপুট – তালিকা:5 6 7 8 9 10 আউটপুট – নতুন তালিকা:5 7 9 এই তালিকায় আমরা সমস্ত জোড় উপাদানগুলি সরিয়ে ফেলি। ইনপুট – তালিকা:5 10 15 20 25 30 আউটপুট – নতুন তালিকা:5 15 25 এই তালিকায় আমরা সরিয়ে ফেলি। সমস্ত উপাদান যা 10 দ্বারা বিভাজ্য।

পন্থা অনুসরণ করা যেতে পারে

  • প্রথমে আমরা predicate ফাংশন ঘোষণা করি।

  • তারপর আমরা তালিকা ঘোষণা করি।

  • তারপর আমরা তালিকা প্রিন্ট করি।

  • তারপর আমরা remove_if( ) ফাংশন ঘোষণা করি।

উপরের পন্থা ব্যবহার করে আমরা যে কোনো অবস্থায় উপাদানটিকে অপসারণ করতে পারি। remove_if( ) ফাংশন ঘোষণা করার সময় আমরা প্যারামিটার হিসাবে predicate পাস করি।

উদাহরণ

// STL#include#includeনেমস্পেস ব্যবহার করে std;Bool div3( const int&val){ return(val % 3 ) ==0);}int main(){ তালিকা তালিকা ={ 2, 3, 4, 15, 9, 7, 21, 24, 13 }; cout<<" তালিকা:"; for( auto x =list.begin(); x !=list.end(); ++x) cout<<*x <<" "; // রিমুভ_ইফ() ফাংশন তালিকা ঘোষণা করা। cout<<"নতুন তালিকা:"; for( x=list.begin(); x !=end(); ++x) cout<<" " " <<*x; ফেরত 0;}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তাহলে এটি নিম্নলিখিত আউটপুট তৈরি করবে

ইনপুট - তালিকা:2 3 4 15 9 7 21 24 13 আউটপুট - নতুন তালিকা:2 4 7 13

  1. C++ STL-এ অনন্য() তালিকা করুন

  2. C++ STL-এ list begin( ) এবং list end( )

  3. C++ STL-এ crbegin() এবং crend() ফাংশন তালিকাভুক্ত করুন

  4. C++ STL-এ cbegin() এবং cend() ফাংশন তালিকাভুক্ত করুন