কম্পিউটার

C++ STL-এ forward_list::cbefore_begin()


C++ এ forward_list::cbefore_begin() ফাংশনের কাজ দেখানোর টাস্ক দেওয়া হয়েছে।

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

Forward_list::cbefore_begin() ফাংশন হল C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরির একটি অংশ। এটি তালিকার প্রথম উপাদানের আগে অবস্থান পেতে ব্যবহৃত হয়।

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

সিনট্যাক্স

Forward_List_Name.cbefore_begin();

পরামিতি

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

রিটার্ন মান

ফাংশনটি একটি ধ্রুবক পুনরাবৃত্তিকারী প্রদান করে যা ফরওয়ার্ড_লিস্টের প্রথম উপাদানের আগে অবস্থানে নির্দেশ করে।

উদাহরণ

Input: 8, 9, 32, 21
Output: 56 8 9 32 21

ব্যাখ্যা − এখানে আমরা 8,9,32,21 উপাদান সহ একটি ফরোয়ার্ড তালিকা তৈরি করেছি। তারপরে আমরা cbefore_begin() ফাংশনকে কল করি যেটি তালিকার প্রথম উপাদানের আগে অবস্থানে নির্দেশ করে এবং সেই অবস্থানটিকে itrator-এ সংরক্ষণ করে। তারপরে আমরা insert_after() ফাংশনটি প্রথম এলিমেন্টের আগে অবস্থানে 56 এলিমেন্ট সন্নিবেশ করার জন্য ব্যবহার করি, অর্থাৎ 8। সুতরাং যখন আমরা এটি প্রিন্ট করি, তখন আউটপুট তৈরি হয় 56 8 9 32 21, যা দেখায় যে 56 এর শুরুতে পাওয়া যায়। তালিকা এবং তাই cbefore_begin ফাংশন() সঠিকভাবে কাজ করেছে।

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

  • প্রথমে একটি ফরওয়ার্ড_লিস্ট তৈরি করুন, আসুন int টাইপের "Lt" বলি এবং এটির কিছু মান নির্ধারণ করি।
  • তারপর স্বয়ংক্রিয় টাইপের একটি বস্তু “itr” তৈরি করুন এবং এটিতে সংরক্ষণ করুন, cbefore_begin() ফাংশনটি কল করে পুনরাবৃত্তিকারী ফিরে আসে।
  • তারপর তালিকার শুরুতে একটি নতুন উপাদান সন্নিবেশ করতে insert_after() ফাংশনটি ব্যবহার করুন। প্রথম আর্গুমেন্ট হিসাবে পুনরাবৃত্তিকারী “itr” এবং দ্বিতীয় হিসাবে ঢোকানো সংখ্যাটি পাস করুন।
  • তারপর তালিকাটি মুদ্রণের জন্য একটি লুপ শুরু করুন
  • তারপর end() এবং begin() ফাংশনের রিটার্ন ভ্যালু পাওয়ার জন্য ফর লুপের ভিতরে অটো টাইপের একটি বস্তু "itr" তৈরি করুন। begin() ফাংশন ব্যবহার করে তালিকার প্রথম উপাদান দিয়ে "itr" শুরু করুন।
  • অতঃপর cend() ফাংশন ব্যবহার করে তালিকার শেষ উপাদানের সমান নয় "itr" লিখে ফর লুপের সমাপ্তি অবস্থা নির্দিষ্ট করুন।
  • *itr প্রিন্ট করুন।

অ্যালগরিদম

Start
Step 1->In function main()
   Initialize forward_list<int> Lt={}
   Initialize auto itr= Lt.cbefore_begin()
   Call insert_after(itr, new_element)
   Loop For auto itr = Ltcbegin() and itr != Lt.end() and itr++
   Print *itr
   End
Stop

উদাহরণ

#include<iostream>
#include<forward_list>
using namespace std;
int main() {
   forward_list<int> Lt = { 40, 55, 67, 89 };
   auto itr = Lt.cbefore_begin();
   Lt.insert_after(itr, 77);
   for (auto itr = Lt.begin(); it != Lt.end(); ++itr)
   cout << *itr << " ";
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
77 40 55 67 89

  1. C++ STL-এ tanh() ফাংশন

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

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

  4. সি++ এসটিএল-এ sinh() ফাংশন