কম্পিউটার

C++ STL-এ forward_list emplace_after() এবং emplace_front()


c++ এ ফরওয়ার্ড_লিস্ট::emplace_after() এবং forward_list::emplace_front() ফাংশনের কাজ দেখানোর টাস্ক দেওয়া হয়েছে।

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

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

ফরওয়ার্ড_লিস্ট::emplace_after() ফাংশনটি একটি তালিকার ভিতরে একটি নতুন উপাদান সন্নিবেশ করার জন্য ব্যবহৃত হয় যে উপাদানটির অবস্থান আর্গুমেন্টের ভিতরে নির্দিষ্ট করা আছে

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

ফাংশন কল করার জন্য হেডার ফাইল অন্তর্ভুক্ত করা উচিত।

forward_list::emplace_after()

সিনট্যাক্স

Forward_List_Name.emplace_after(iterator , element);

পরামিতি

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

ইটারেটার , পুনরাবৃত্তিকারীতে সেই অবস্থান রয়েছে যেখানে নতুন উপাদানটি স্থাপন করতে হবে।

উপাদান , এটিতে এমন উপাদান রয়েছে যা স্থাপন করতে হবে।

রিটার্ন মান

ফাংশনটি একটি পুনরাবৃত্তিকারী প্রদান করে যা ফরোয়ার্ড তালিকার ভিতরে রাখা নতুন উপাদানটির দিকে নির্দেশ করে৷

forward_list::emplace_front()

সিনট্যাক্স

Forward_List_Name.emplace_front(element);

পরামিতি

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

রিটার্ন মান

ফাংশন কিছুই ফেরত দেয় না।

উদাহরণ

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

ব্যাখ্যা

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

সুতরাং যখন আমরা ফরোয়ার্ড তালিকা প্রিন্ট করি, তখন উৎপন্ন আউটপুট হয় 41 11 34 56 যার প্রথম উপাদানটি 41 হিসাবে রয়েছে।

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

  • প্রথমে একটি তালিকা তৈরি করুন, আসুন int টাইপের "Lt" বলি এবং কিছু মান নির্ধারণ করি।
  • তারপর তালিকার শুরুতে একটি নতুন উপাদান স্থাপন করতে emplace_front() ফাংশনটিকে কল করুন।
  • তারপর স্বয়ংক্রিয় টাইপের একটি অবজেক্ট তৈরি করুন, আসুন "itr" বলি যা emplace_after() পজিশনে পাস করার জন্য আমাদের পুনরাবৃত্তিকারী হিসাবে কাজ করবে, যার পাশে আমাদের নতুন উপাদান স্থাপন করা হবে। এটির একটি অবস্থান দিন, আসুন বলি, তালিকার শেষ।
  • তারপর একটি নির্দিষ্ট অবস্থানে উপাদান প্রবেশ করতে 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-এ crbegin() এবং crend() ফাংশন তালিকাভুক্ত করুন

  4. C++ STL-এ অ্যারে get() ফাংশন?