এই নিবন্ধে, আমরা C++ STL-এ স্ট্যাক::swap() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ স্ট্যাক কী?
স্ট্যাক হল ডাটা স্ট্রাকচার যা LIFO (লাস্ট ইন ফার্স্ট আউট) তে ডেটা সঞ্চয় করে যেখানে ওয়েডো সন্নিবেশ এবং উপরে থেকে মুছে ফেলা বা শেষ উপাদান সন্নিবেশ করা হয়। প্লেটের স্তুপের মতো, যদি আমরা একটি নতুন প্লেটকে স্ট্যাকের মধ্যে ঠেলে দিতে চাই যা আমরা উপরে ঢোকাই এবং যদি আমরা স্ট্যাক থেকে প্লেটটি সরাতে চাই, তাহলে আমরা উপরে থেকেও সরিয়ে ফেলি।
stack::swap() কি?
stack::swap() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা
সিনট্যাক্স
stack_name.swap(stack& stack2);
পরামিতি
ফাংশন নিম্নলিখিত পরামিতি(গুলি) −
গ্রহণ করে-
stack2:আরেকটি স্ট্যাক কন্টেনার যার সাথে আমরা বিষয়বস্তু অদলবদল করতে চাই।
রিটার্ন মান
এই ফাংশন কিছুই ফেরত দেয় না
ইনপুট
std::stack<int>odd; odd.emplace(1); odd.emplace(3); odd.emplace(5); std::stack<int&g; eve; eve.emplace(2); eve.emplace(4); eve.emplace(6); odd.swap(eve);
আউটপুট
odd: 2 4 6 eve: 1 3 5
উদাহরণ
#include <iostream> #include <stack> using namespace std; int main(){ stack<int> stck_1, stck_2; //inserting elements to stack 1 stck_1.push(1); stck_1.push(2); stck_1.push(3); stck_1.push(4); //inserting elements to stack 2 stck_2.push(5); stck_2.push(6); stck_2.push(7); stck_2.push(8); //swapping elements of stack 1 in stack 2 and vice-versa stck_1.swap(stck_2); cout<<"Elements in stack 1 are: "; while (!stck_1.empty()){ cout<<stck_1.top()<<" "; stck_1.pop(); } cout<<"\nElements in stack 2 are: "; while (!stck_2.empty()){ cout<<stck_2.top()<<" "; stck_2.pop(); } return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে -
Elements in stack 1 are: 8 7 6 5 Elements in stack 2 are: 4 3 2 1