কম্পিউটার

C++ STL-এ assign() ফাংশনের তালিকা করুন


C++ এ assign() ফাংশনের কার্যকারিতা দেখানোর জন্য এই কাজটি দেওয়া হয়েছে।

তালিকা::assign() ফাংশন হল C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরির একটি অংশ। এটি একটি তালিকায় মান নির্ধারণ করতে এবং একটি তালিকা থেকে অন্য তালিকায় মান অনুলিপি করতে ব্যবহৃত হয়।

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

সিনট্যাক্স

নতুন মান নির্ধারণের জন্য সিনট্যাক্স নিম্নরূপ -

List_Name.assign(size,value)

সিনট্যাক্স

এক তালিকা থেকে অন্য তালিকায় মান অনুলিপি করার জন্য সিনট্যাক্স নিম্নরূপ -

First_List.assign(Second_List.begin(),Second_list.end())

পরামিতি

ফাংশন দুটি পরামিতি নেয় -

প্রথমটি হল আকার, যা তালিকার আকারকে প্রতিনিধিত্ব করে এবং দ্বিতীয়টি হল মান, যা তালিকার ভিতরে সংরক্ষণ করা ডেটা মানকে প্রতিনিধিত্ব করে৷

রিটার্ন মান

ফাংশনের কোনো রিটার্ন মান নেই।

উদাহরণ

Input: Lt.assign(3,10)
Output: The size of list Lt is 3.
The elements of the list Lt are 10 10 10.

ব্যাখ্যা

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে আমরা assign() ফাংশন ব্যবহার করে একটি তালিকার আকার এবং মান নির্ধারণ করতে পারি। আমরা তালিকা ফাংশনের ভিতরে যে প্রথম মানটি পাস করব তা তালিকার আকারে পরিণত হবে, এই ক্ষেত্রে এটি 3 এবং দ্বিতীয় উপাদানটি হল সেই মান যা তালিকার প্রতিটি অবস্থানের জন্য নির্ধারিত হয় এবং এখানে এটি 10।

উদাহরণ

Input: int array[5] = { 1, 2, 3, 4 }
Lt.assign(array,array+3)
Output: The size of list Lt is 3.
The elements of the list Lt are 1 2 3.

ব্যাখ্যা

নিম্নলিখিত উদাহরণ দেখায় কিভাবে আমরা একটি অ্যারে ব্যবহার করে একটি তালিকায় মান নির্ধারণ করতে পারি। আমরা তালিকায় যে উপাদানগুলি বরাদ্দ করব তা তালিকার আকারে পরিণত হবে৷

ব্যবহারকারীকে অ্যাসাইন() ফাংশনের ভিতরে প্রথম আর্গুমেন্ট হিসাবে অ্যারের নামটি পাস করতে হবে এবং দ্বিতীয় আর্গুমেন্টটি অ্যারের নাম হওয়া উচিত, তারপর একটি "+" চিহ্নের পরে ব্যবহারকারী যে উপাদানগুলি করতে চান তার সংখ্যা দ্বারা অনুসরণ করা উচিত। তালিকায় বরাদ্দ করুন।

উপরের ক্ষেত্রে আমরা 3 লিখেছি, তাই অ্যারের প্রথম তিনটি উপাদান তালিকায় বরাদ্দ করা হবে।

যদি আমরা অ্যারেতে উপস্থিত উপাদানগুলির সংখ্যার চেয়ে বড় একটি সংখ্যা লিখি, তাহলে 6 বলি, তাহলে প্রোগ্রামটি কোনও ত্রুটি দেখাবে না বরং তালিকার আকার 6 হয়ে যাবে এবং তালিকার অতিরিক্ত অবস্থানগুলি বরাদ্দ করা হবে। মান শূন্য সহ।

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

  • প্রথমে একটি ফাংশন ShowList(list L) তৈরি করুন যা তালিকার উপাদানগুলি প্রদর্শন করবে।
  • একটি পুনরাবৃত্তিকারী তৈরি করুন, ধরা যাক itr যাতে প্রদর্শিত হবে তালিকার প্রাথমিক উপাদান।
  • লুপটি চালান যতক্ষণ না itr তালিকার চূড়ান্ত উপাদানে পৌঁছায়।
  • তারপর main() ফাংশনের ভিতরে list ব্যবহার করে তিনটি তালিকা তৈরি করুন ধরা যাক L1, L2 ad L3 যাতে তারা int টাইপের মান গ্রহণ করে এবং তারপরে int টাইপের একটি অ্যারে তৈরি করে, আসুন arr[] বলি এবং এটি বরাদ্দ করি। কিছু মান।
  • তারপর তালিকা L1-এ আকার এবং কিছু মান বরাদ্দ করতে assign() ফাংশন ব্যবহার করুন এবং তারপর তালিকা L1-কে ShowDisplay() ফাংশনে পাস করুন।
  • তারপর তালিকা L1-এর উপাদানগুলিকে L2-এ অনুলিপি করতে assign() ফাংশন ব্যবহার করুন এবং তালিকা L2-কে ShowList() ফাংশনে পাস করুন।
  • তারপর অ্যারে অ্যারের উপাদানগুলিকে L3-এ অনুলিপি করতে assign() ফাংশন ব্যবহার করুন এবং তালিকা L3-কে DisplayList() ফাংশনে পাস করুন৷

অ্যালগরিদম

Start
Step 1-> Declare function DisplayList(list<int> L) for showing list elements
   Declare iterator itr
   Loop For itr=L.begin() and itr!=L.end() and itr++
   Print *itr
   End
Step 2-> In function main()
   Declare lists L1,L2,L3
   Initialize array arr[]
   Call L1.assign(size,value)
   Print L1.size();
   Call function DisplayList(L1) to display L1
   Call L2.assign(L1.begin(),L1.end())
   Print L2.size();
   Call function DisplayList(L2) to display L2
   Call L3.assign(arr,arr+4)
   Print L3.size();
   Call function DisplayList(L3) to display L3
Stop
প্রদর্শন করতে ফাংশন ডিসপ্লেলিস্ট(L3) কল করুন

উদাহরণ

#include<iostream>
#include<list>
using namespace std;
int ShowList(list<int> L) {
   cout<<"The elements of the list are ";
   list<int>::iterator itr;
   for(itr=L.begin(); itr!=L.end(); itr++) {
      cout<<*itr<<" ";
   }
   cout<<"\n";
}
int main() {
   list<int> L1;
   list<int> L2;
   list<int> L3;
   int arr[10] = { 6, 7, 2, 4 };
   //assigning size and values to list L1
   L1.assign(3,20);
   cout<<"The size of list L1 is "<<L1.size()<<"\n";
   ShowList(L1);
   //copying the elements of L1 into L3
   L2.assign(L1.begin(),L1.end());
   cout<<"The size of list is L2 "<<L2.size()<<"\n";
   ShowList(L2);
   //copying the elements of arr[] into list L3
   L3.assign(arr,arr+4);
   cout<<"The size of list is L3 "<<L3.size()<<"\n";
   ShowList(L3);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
The size of list L1 is 3
The elements of the list are 20 20 20
The size of list L2 is 3
The elements of the list are 20 20 20
The size of list L3 is 4
The elements of the list are 6 7 2 4

ব্যাখ্যা

তালিকা L1-এর জন্য আমরা assign() ফাংশনে সাইজ 3 এবং মান 20 দিয়েছি যা উপরের আউটপুট তৈরি করেছিল।

তারপর আমরা তালিকা L1-এর উপাদানগুলিকে সেই L2-এ কপি করেছি যা L2-কে L1-এর মতো একই আকার এবং মান দেয় যা আমরা আউটপুটে দেখতে পাচ্ছি।

তারপর আমরা অ্যারে অ্যারের সমস্ত উপাদান কপি করার জন্য অ্যাসাইন ফাংশন ব্যবহার করেছি যা L3 এর আকারকে 4 এর সমান করেছে এবং এর উপাদানগুলিকে অ্যারের উপাদানগুলির মতো করে দিয়েছে।


  1. C++ STL-এ বিপরীত ফাংশন তালিকাভুক্ত করুন

  2. C++ STL-এ তালিকা emplace() ফাংশন

  3. তালিকা ব্যাক() ফাংশন C++ STL-এ

  4. C++ STL-এ deque assign() ফাংশন