কম্পিউটার

C++ STL-এ list::emplace_front() এবং list::emplace_back()


এই নিবন্ধে আমরা C++ STL-এ তালিকা::emplace_front() এবং list::emplace_back() ফাংশনের কার্যকারিতা, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।

STL-এ একটি তালিকা কী?

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

তালিকাটি কী::emplace_front()?

list::emplace_front() হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন যা হেডার ফাইলে ঘোষণা করা হয়েছে। emplace_front() লিস্ট কন্টেইনারের শুরুতে এলিমেন্ট বসাতে (সন্নিবেশ) ব্যবহার করা হয়। যদি ধারকটি খালি থাকে তবে এটি উপাদানটিকে প্রথম অবস্থানে ঠেলে দেয় এবং উপাদানটি প্রথম উপাদানে পরিণত হয় এবং যদি কন্টেইনারে উপাদানগুলি আগে থেকে থাকে তবে ফাংশনটি সামনের দিকে প্রেরিত উপাদানটি প্রবেশ করায় এবং বিদ্যমান উপাদানটি যা প্রথম অবস্থানে রয়েছে দ্বিতীয় উপাদান হয়ে যাবে। এই ফাংশনটি পাত্রের আকার 1 দ্বারা বৃদ্ধি করে।

সিনট্যাক্স

listname.emplace_front (const value_type& element1);
listname.emplace_front (value_type&& element1);

প্যারামিটার

এই ফাংশনটি কেবলমাত্র 1টি উপাদান গ্রহণ করে যা স্থাপন/প্রবেশ করাতে হয়।

রিটার্ন মান

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

উদাহরণ

Input: list<int> mylist = {1, 2, 3, 4};
mylist.emplace_front(0)
Output:
List elements are = 0 1 2 3 4

উদাহরণ

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> List;
   List.emplace_front(10);
   List.emplace_front(20);
   List.emplace_front(30);
   List.emplace_front(40);
   List.emplace_front(50);
   List.emplace_front(60);
      cout<<"Elements are : ";
   for(auto i = List.begin(); i!= List.end(); ++i)
      cout << ' ' << *i;
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Elements are : 60 50 40 30 20 10

তালিকাটি কী::emplace_back()?

list::emplace_back() হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন যা হেডার ফাইলে ঘোষণা করা হয়েছে। emplace_back() উপাদানটিকে পিছনে বা তালিকা কন্টেইনারের শেষে স্থাপন (সন্নিবেশ) করতে ব্যবহৃত হয়। যদি ধারকটি খালি থাকে তবে এটি কেবলমাত্র উপাদানটি সন্নিবেশ করায় এবং ধারকটির আকার 1 হয়ে যায় যদি কন্টেইনারে উপাদানগুলি আগে থেকে থাকে তবে ফাংশনটি তালিকা ধারকের শেষে এটিতে প্রেরিত উপাদানটি সন্নিবেশ করে। এই ফাংশনটি পাত্রের আকার 1 দ্বারা বৃদ্ধি করে।

সিনট্যাক্স

listname.emplace_back(const value_type& element1);
listname.emplace_back(value_type&& element1);

প্যারামিটার

এই ফাংশনটি কেবলমাত্র 1টি উপাদান গ্রহণ করে যা স্থাপন/প্রবেশ করাতে হয়।

রিটার্ন মান

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

উদাহরণ

Input: list<int> list1 = {1, 2, 3, 4};
   list1.emplace_back(5);
Output: List: 1 2 3 4 5

উদাহরণ

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> List;
   List.emplace_back(10);
   List.emplace_back(20);
   List.emplace_back(30);
   List.emplace_back(40);
   List.emplace_back(50);
   List.emplace_back(60);
   cout<<"elements are : ";
   for(auto i=List.begin(); i!= List.end(); ++i)
      cout << ' ' << *i;
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Elements are : 10 20 30 40 50 60

  1. C++ STL-এ list begin( ) এবং list end( )

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

  3. C++ STL-এ crbegin() এবং crend() ফাংশন তালিকাভুক্ত করুন

  4. C++ STL-এ cbegin() এবং cend() ফাংশন তালিকাভুক্ত করুন