এই আর্টিকেলে আমরা C++-এ list::reverse() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
STL-এ List কী
List একটি ডেটা স্ট্রাকচার যা সিকোয়েন্সে যেকোনো জায়গায় কনস্ট্যান্ট টাইমে ইনসারশন এবং ডিলিশন করার সুবিধা দেয়। লিস্টগুলো ডাবলি লিংকড লিস্ট হিসেবে ইমপ্লিমেন্টেড। লিস্ট নন-কন্টিগ্যুয়াস মেমরি অ্যালোকেশন অনুমতি দেয়। লিস্ট অ্যarray, vector এবং deque-র চেয়ে যেকোনো পজিশনে এলিমেন্ট ইনসার্ট, এক্সট্র্যাক্ট এবং মুভ করার ক্ষেত্রে ভালো পারফর্ম করে। লিস্টে এলিমেন্টে ডায়রেক্ট অ্যাক্সেস ধীর এবং লিস্ট forward_list-এর সাথে মিল্টি-जুলتی, কিন্তু forward list অবজেক্টগুলো সিঙ্গলি লিংকড লিস্ট এবং সেগুলো শুধু ফরওয়ার্ডে ইটারেট করা যায়।
list::reverse() কী
list::reverse() C++ STL-এ একটি বিল্ট-ইন ফাংশন যা হেডার ফাইলে ডিক্লেয়ার করা আছে। reverse() লিস্ট কন্টেইনারটি রিভার্স করতে ব্যবহৃত হয়, অর্থাৎ লিস্টের শেষ এলিমেন্ট লিস্টের প্রথম এলিমেন্ট হয়ে যায়।
নিচে লিস্ট এবং এর রিভার্সড ফর্মের গ্রাফিক্যাল রিপ্রেজেন্টেশন দেওয়া হলো:

সিনট্যাক্স
List_name.reverse();
এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন ভ্যালু
এই ফাংশন কিছু রিটার্ন করে না। এটি শুধু কন্টেইনারটি রিভার্স করে, যার লিস্ট রিভার্স করা হবে।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int main(){ //create a list list<int> myList; //inserting elements to the list myList.push_back(1); myList.push_back(2); myList.push_back(3); myList.push_back(4); //list before appyling reverse() function cout<<"List : "; for (auto i = myList.begin(); i != myList.end(); i++) cout << *i << " "; //reversing the list myList.reverse(); cout<<"\nList after appyling reverse() : "; for (auto i = myList.begin(); i != myList.end(); i++) cout << *i << " "; return 0; }আউটপুট
যদি উপরের কোডটি রান করানো হয় তবে নিচের আউটপুট জেনারেট হবে:
List : 1 2 3 4 List after applying reverse(): 4 3 2 1