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

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


C++-এ forward_list::cbefore_begin() ফাংশনটির কাজ দেখানো হলো এই টাস্ক।

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

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

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

সিনট্যাক্স

Forward_List_Name.cbefore_begin();

প্যারামিটার

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

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

ফাংশনটি একটি কনস্ট্যান্ট ইটারেটর রিটার্ন করে যা forward_list-এ প্রথম উপাদানের আগের পজিশনকে পয়েন্ট করে।

উদাহরণ

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

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

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

  • প্রথমে একটি forward_list তৈরি করুন, ধরুন “Lt” টাইপ int এবং এতে কিছু ভ্যালু দিন।
  • তারপর auto টাইপের একটি অবজেক্ট “itr” তৈরি করুন এবং সেটিতে cbefore_begin() ফাংশন কল করে রিটার্ন করা ইটারেটর সংরক্ষণ করুন।
  • তারপর insert_after() ফাংশনটি ব্যবহার করুন লিস্টের শুরুতে একটি নতুন উপাদান ইনসার্ট করতে। ইটারেটর “itr” প্রথম আর্গুমেন্ট হিসেবে পাস করুন এবং ইনসার্ট করার নাম্বার দ্বিতীয় আর্গুমেন্ট হিসেবে।
  • তারপর লিস্ট প্রিন্ট করার জন্য একটি For লুপ শুরু করুন।
  • তারপর for লুপের ভিতরে auto টাইপের একটি অবজেক্ট “itr” তৈরি করুন begin() এবং end() ফাংশনের রিটার্ন ভ্যালু রিসিভ করার জন্য। “itr”-কে ইনিশিয়ালাইজ করুন begin() ফাংশন ব্যবহার করে লিস্টের প্রথম উপাদান দিয়ে।
  • তারপর for লুপের টার্মিনেটিং কন্ডিশন স্পেসিফাই করুন “itr” লিস্টের শেষ উপাদানটি না হওয়া পর্যন্ত cend() ফাংশন ব্যবহার করে।
  • *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. C++ STL-এ sinh() ফাংশন