কম্পিউটার

স্ট্যাক emplace() C++ STL-এ


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

C++ STL-এ স্ট্যাক কী?

স্ট্যাক হল ডাটা স্ট্রাকচার যা LIFO (Last In First Out) তে ডেটা সঞ্চয় করে যেখানে আমরা সন্নিবেশ করা শেষ উপাদানটির উপরে থেকে সন্নিবেশ এবং মুছে ফেলি। প্লেটের স্তুপের মতো, যদি আমরা স্ট্যাকের মধ্যে একটি নতুন প্লেট ঠেলে দিতে চাই তবে আমরা উপরে ঢোকাই এবং যদি আমরা স্ট্যাক থেকে প্লেটটি সরাতে চাই তবে আমরা উপরে থেকেও সরিয়ে ফেলি।

stack::emplace() কি?

stack::emplace() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা হেডার ফাইলে সংজ্ঞায়িত করা হয়েছে। emplace() ফাংশনের সাথে যুক্ত স্ট্যাক কন্টেইনারে একটি উপাদান তৈরি এবং সন্নিবেশ করতে ব্যবহৃত হয়।

যখন আমরা এই ফাংশনটি চালাই, ফাংশনটি স্ট্যাকের উপরে একটি নতুন উপাদান সন্নিবেশিত করে এবং নতুন সন্নিবেশিত উপাদানটিকে শীর্ষ উপাদান হিসাবে তৈরি করে। এই ফাংশনটি উপরে নতুন উপাদান সন্নিবেশ করার জন্য emplace_back কল করে।

সিনট্যাক্স

stack_name.emplace(Args& args);

পরামিতি

ফাংশন নিম্নলিখিত পরামিতি(গুলি) −

গ্রহণ করে
  • আর্গস − এই যুক্তিগুলো আমরা তুলে ধরতে চাই।

রিটার্ন মান

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

ইনপুট

std::stack<int> stack1;
stack1.emplace(1);
stack1.emplace(2);
stack1.emplace(3);

আউটপুট

3 2 1

উদাহরণ

#include <iostream>
#include <stack>
using namespace std;
int main(){
   stack<int> stck;
   stck.emplace(10);
   stck.emplace(20);
   stck.emplace(30);
   stck.emplace(40);
   stck.emplace(50);
   stck.emplace(60);
   cout << "Elements in stack are: ";
   while (!stck.empty()){
      cout<<stck.top() << " ";
      stck.pop();
   }
   return 0;
}

আউটপুট

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

Elements in stack are: 60 50 40 30 20 10

উদাহরণ

#include <iostream>
#include <stack>
using namespace std;
int main(){
   stack<int> stck;
   int total = 0;
   stck.emplace(10);
   stck.emplace(20);
   stck.emplace(30);
   stck.emplace(40);
   stck.emplace(50);
   stck.emplace(60);
   cout << "Elements in stack are: ";
   while (!stck.empty()){
      cout<<stck.top() << " ";
      stck.pop();
      total++;
   }
   cout<<"\nTotal number of elements in stack are: "<<total;
   return 0;
}

আউটপুট

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

Elements in stack are: 60 50 40 30 20 10
Total number of elements in stack are: 6

  1. ম্যাপ max_size() C++ STL-এ

  2. C++ STL(3) তে সেট বনাম unordered_set

  3. C++ STL(3.5) এ স্ট্যাক

  4. STL-এ স্ট্যাক বাস্তবায়নের জন্য C++ প্রোগ্রাম