C++ এ ফরওয়ার্ড_লিস্ট অ্যাসাইন() ফাংশনের কাজ দেখানোর কাজটি দেওয়া হয়েছে।
একটি ফরোয়ার্ড_লিস্ট শুধুমাত্র সাধারণ তালিকার বিপরীতে পরবর্তী উপাদানের সাথে সংযোগ রাখে যা পরবর্তী এবং পূর্ববর্তী উপাদানগুলির সাথে সংযোগ রাখে, যা সামনের সাথে সাথে পিছনের দিকের দিকে পুনরাবৃত্তি করতে সহায়তা করে। কিন্তু ফরওয়ার্ড_লিস্ট শুধুমাত্র ফরোয়ার্ডের দিকেই পুনরাবৃত্তি করতে পারে।
Forward_list::assign() ফাংশন হল C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরির একটি অংশ। এটি একটি ফরোয়ার্ড তালিকার মধ্যে উপাদানগুলি সন্নিবেশ করতে ব্যবহৃত হয় এবং যদি তালিকায় ইতিমধ্যে কিছু উপাদান থাকে তবে সেগুলি ব্যবহারকারীর দ্বারা যুক্ত করা নতুনগুলি দ্বারা প্রতিস্থাপিত হয়৷
এই ফাংশনটি কল করার জন্য
সিনট্যাক্স
এই ফাংশনের জন্য 3 ধরনের সিনট্যাক্স আছে। প্রতিটি আলাদা পদ্ধতির জন্য −
- Forward_list_name.assign(initializer_list);
- Forward_list_name.assign(iterator itr1 , itrator itr2);
- Forward_list_name.assign(count, value);
পরামিতি
ইনিশিয়ালাইজার_লিস্ট − প্রথম ক্ষেত্রে ফরোয়ার্ড তালিকাটি সেই মানগুলি পায় যা এটির মধ্যে একটি প্রাথমিক তালিকা হিসাবে একই ক্রমে পাস করা হয়৷
ইটারেটার − দ্বিতীয় ক্ষেত্রে ফরোয়ার্ড তালিকাটি সেই মানগুলি পায় যা ইটরেটর itr1 এবং itr2 দ্বারা নির্দেশিত মানগুলির মধ্যে অন্তর্ভুক্ত করা হয়। এর মধ্যে itr1 দ্বারা নির্দেশিত মানও রয়েছে কিন্তু itr2 দ্বারা নয়।
গণনা এবং মান − তৃতীয় ক্ষেত্রে প্যারামিটার "গণনা" ফরোয়ার্ড তালিকার ভিতরে সন্নিবেশ করা উপাদানের সংখ্যা নির্দেশ করে এবং "মান" প্রতিটি উপাদানের জন্য নির্ধারিত মানকে নির্দেশ করে৷
অবস্থান, এটি সেই অবস্থানকে প্রতিনিধিত্ব করে যেখানে নতুন উপাদানটি স্থাপন করতে হবে এবং মান, এটি সেই উপাদানটিকে প্রতিনিধিত্ব করে যা তালিকার ভিতরে প্রবেশ করাতে হবে।
রিটার্ন মান
ফাংশন কোনো মান ফেরত দেয় না।
উদাহরণ
Input: assign(5,1) Output: 1 1 1 1 1
ব্যাখ্যা -
এখানে আমরা int টাইপের একটি ফরোয়ার্ড লিস্ট "Lt" তৈরি করেছি। তারপর আমরা গণনা প্যারামিটার ব্যবহার করে তালিকায় assign() মান নির্ধারণ করতে অ্যাসাইন ফাংশন ব্যবহার করেছি এবং মান .
এটি তালিকা "Lt" 5টি উপাদান প্রতিটিকে 1 মান সহ নির্ধারণ করেছে, যা আউটপুট 1 1 1 1 1 তৈরি করেছে৷
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি −
- প্রথমে int-এর তিনটি ফরোয়ার্ড তালিকা তৈরি করুন, আসুন আমরা বলি “Lt1”, “Lt2” এবং “Lt3”।
- তারপর assign() ফাংশন ব্যবহার করে Lt1 এ উপাদানগুলি বরাদ্দ করুন এবং প্যারামিটার হিসাবে একটি প্রাথমিক তালিকা পাস করুন।
- তারপর Lt2 পাসিং কাউন্ট এবং মান প্যারামিটার হিসাবে উপাদানগুলি বরাদ্দ করতে অ্যাসাইন ফাংশনটি ব্যবহার করুন৷
- তারপর পরামিতি হিসাবে Lt3-এ দুটি ইটারেটর পাস করে উপাদানগুলি বরাদ্দ করতে অ্যাসাইন ফাংশন ব্যবহার করুন, ধরা যাক যথাক্রমে Lt1 তালিকার প্রাথমিক এবং চূড়ান্ত অবস্থানগুলিতে নির্দেশ করা যাক।
অ্যালগরিদম
Start Step 1->In function main() Declare forward_lists<int> Lt1,Lt2,Lt3 Call Lt1.assign(initialize list) Call Lt2.assign(count,value) Call Lt3.assign(L1.begin(),Lt2.end()) Stop
উদাহরণ
#include <forward_list> #include <iostream> using namespace std; int main() { forward_list<int> Lt1; forward_list<int> Lt2; forward_list<int> Lt3; //assigning elements to Lt1 Lt1.assign({4,9,7,8}); //assigning elements to Lt2 Lt2.assign(3,6); //assigning elements to Lt2 Lt3.assign(Lt1.begin(),Lt1.end()); // Display the lists cout << "Lt1: "; for (int& D : Lt1) cout << D << " "; cout << endl; // Display Lt2 cout << "Lt2: "; for (int& D : Lt2) cout << D << " "; // Display Lt3 cout << "Lt3: "; for (int& D : Lt3) cout << D << " "; return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেLt1: 4 9 7 8 Lt2: 6 6 6 Lt3: 4 9 7 8