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

C++ STL-এ forward_list emplace_after() এবং emplace_front() ফাংশন


C++-এ forward_list::emplace_after() এবং forward_list::emplace_front() ফাংশনগুলোর কাজ দেখানো হলো এই টাস্ক।

একটি forward_list শুধু পরবর্তী উপাদানের সাথে লিংক রাখে, সাধারণ লিস্টের মতো নয় যা পরবর্তী এবং পূর্ববর্তী উভয় উপাদানের সাথে লিংক রাখে, যা উভয় দিকেই ইটারেশন করতে সাহায্য করে। কিন্তু forward_list শুধু ফরওয়ার্ড দিকেই ইটারেট করতে পারে।

forward_list::emplace_after() এবং forward_list::emplace_front() ফাংশনগুলো C++ স্ট্যান্ডার্ড লাইব্রেরির অংশ।

forward_list::emplace_after() ফাংশনটি একটি লিস্টের ভিতরে একটি নতুন উপাদান ইনসার্ট করতে ব্যবহৃত হয়, আর্গুমেন্টে নির্দিষ্ট করা উপাদানের পজিশনের পরে।

forward_list::emplace_front() ফাংশনটি লিস্টের শুরুতে একটি উপাদান ইনসার্ট করতে ব্যবহৃত হয়।

<forward_list> হেডার ফাইলটি ইনক্লুড করতে হবে ফাংশন কল করার জন্য।

forward_list::emplace_after()

সিনট্যাক্স

Forward_List_Name.emplace_after(iterator , element);

প্যারামিটার

ফাংশনটি দুটি প্যারামিটার গ্রহণ করে −

Iterator, ইটারেটরে থাকে সেই পজিশন যেখানে নতুন উপাদানটি রাখতে হবে।

Element, এতে থাকে রাখতে হবে এমন উপাদান।

রিটার্ন ভ্যালু

ফাংশনটি একটি ইটারেটর রিটার্ন করে যা ফরওয়ার্ড লিস্টের ভিতরে রাখা নতুন উপাদানকে পয়েন্ট করে।

forward_list::emplace_front()

সিনট্যাক্স

Forward_List_Name.emplace_front(element);

প্যারামিটার

ফাংশনটি একটি প্যারামিটার গ্রহণ করে।

রিটার্ন ভ্যালু

ফাংশনটি কিছুই রিটার্ন করে না।

উদাহরণ

Input: 11,34,56 Output: 41 11 34 56

ব্যাখ্যা −

এখানে আমরা Lt নামে একটি ফরওয়ার্ড লিস্ট তৈরি করলাম 11,34,56 উপাদান দিয়ে। তারপর emplace_front() ফাংশনটি কল করলাম যা লিস্টের শুরুতে একটি নতুন উপাদান ইনসার্ট করতে ব্যবহৃত হয় এবং এখানে সেটি 41।

তাই যখন লিস্টটি প্রিন্ট করলাম, আউটপুট আসল 41 11 34 56 যেটির প্রথম উপাদান 41।

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতি −

  • প্রথমে একটি লিস্ট তৈরি করুন, ধরুন “Lt” টাইপ int এবং এতে কিছু ভ্যালু দিন।
  • তারপর emplace_front() ফাংশনটি কল করুন লিস্টের শুরুতে একটি নতুন উপাদান রাখতে।
  • তারপর auto টাইপের একটি অবজেক্ট তৈরি করুন, ধরুন “itr” যা আমাদের ইটারেটর হিসেবে কাজ করবে emplace_after() পজিশনে পাস করার জন্য, যেখানে আমাদের নতুন উপাদানটি রাখা হবে। itr-কে একটি লোকেশন দিন, ধরুন লিস্টের শেষে।
  • তারপর emplace_after() ফাংশনটি কল করুন নির্দিষ্ট পজিশনে উপাদান ইনসার্ট করার জন্য। প্রথম আর্গুমেন্ট হবে ইটারেটর “itr” যা লিস্টে পজিশন স্পেসিফাই করে এবং দ্বিতীয় আর্গুমেন্ট হবে সেই পজিশনে রাখতে হবে এমন উপাদান।

এল्गরিদম

Start Step 1->In function main()    Initialize forward_list<int> Lt={}    Call function Lt.emplace_front()    Initialize auto itr=Lt.end();    Call Lt.emplace_after(itr , element)    End Stop

উদাহরণ

#include<iostream> #include<list> using namespace std; int main() {    forward_list<int> Lt = { 5,6,7,8 };    //Using the emplace_front() function to place element at the beginning.    Lt.emplace_front(3);    auto itr = Lt.end();    /*Using the emplace_after() function to place an element after the location specified*/    Lt.emplace_after(itr , 10)    //Displaying the list    for(auto itr = Lt.begin() ; itr!=Lt.end ; itr++)    cout<<” *itr ”<<” ”;    return 0; }

আউটপুট

যদি উপরের কোডটি রান করি তবে নিচের আউটপুট জেনারেট হবে −

3 5 6 7 8 10

  1. C++ STL-এ forward_list::cbefore_begin() ফাংশন

  2. C++ STL-এ forward_list::cbegin() ফাংশন

  3. C++ STL-এ list crbegin() এবং crend() ফাংশন

  4. C++ STL-এ Array get() ফাংশন