এই লেখায় আমরা C++ STL-এ stack::emplace() ফাংশনের কাজ করার পদ্ধতি, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ Stack কী?
Stack হল একটি ডেটা স্ট্রাকচার যা LIFO (Last In First Out) নীতিতে ডেটা সংরক্ষণ করে। এখানে উপাদান ইনসার্ট এবং ডিলিট করা হয় স্ট্যাকের উপরের দিক থেকে। 마치 প্লেটের স্ট্যাকের মতো—নতুন প্লেট যোগ করলে উপরে রাখা হয় এবং বাদ দিলেও উপরের প্লেটটি সরাতে হয়।
stack::emplace() কী?
stack::emplace() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <stack> হেডার ফাইলে সংজ্ঞায়িত। এই ফাংশনটি স্ট্যাক কন্টেইনারে একটি উপাদান কনস্ট্রাক্ট করে ইনসার্ট করে।
এই ফাংশন কল হলে, এটি স্ট্যাকের উপরে একটি নতুন উপাদান যোগ করে এবং নতুন ইনসার্ট করা উপাদানটিকে টপ উপাদান হিসেবে সেট করে। অভ্যন্তরীণভাবে এটি emplace_back কল করে নতুন উপাদানটি টপে ইনসার্ট করার জন্য।
সিনট্যাক্স
stack_name.emplace(Args& args);
প্যারামিটার
- args — আমরা যে আর্গুমেন্টগুলো emplacement করতে চাই।
রিটার্ন ভ্যালু
এই ফাংশন কিছুই রিটার্ন করে না।
উদাহরণ ১
#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