এই নিবন্ধে আমরা C++ STL-এ list::push_front() এবং list::push_back() ফাংশনগুলির কাজকাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
STL-এ List কী?
list হল একটি ডেটা স্ট্রাকচার যা সিকোয়েন্সের যেকোনো স্থানে কনস্ট্যান্ট টাইমে ইনসারশন এবং ডিলিশন করার অনুমতি দেয়। লিস্ট ডাবলি লিংকড লিস্ট হিসেবে বাস্তবায়িত হয়। লিস্ট নন-কন্টিগ্যুয়াস মেমরি অ্যালোকেশন অনুমতি দেয়। অ্যারের, ভেক্টরের এবং ডিকের চেয়ে লিস্টে যেকোনো পজিশনে এলিমেন্ট ইনসার্ট, এক্সট্র্যাক্ট এবং মুভ করা দ্রুত হয়। লিস্টে ডায়রেক্ট এলিমেন্ট অ্যাক্সেস ধীর, তবে এটি forward_list-এর সাথে মিলিত, কিন্তু ফরওয়ার্ড লিস্ট সিঙ্গলি লিংকড লিস্ট এবং শুধু ফরওয়ার্ড দিক থেকে ইটারেট করা যায়।
list::push_front() কী?
list::push_front() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন যা <list> হেডার ফাইলে ঘোষিত। এটি লিস্ট কন্টেইনারের সামনে (শুরুতে) এলিমেন্ট পুশ/ইনসার্ট করতে ব্যবহৃত হয়। নতুন এলিমেন্ট শুরুর সাথে যুক্ত হলে, পূর্বের প্রথম এলিমেন্ট দ্বিতীয় এলিমেন্ট হয়ে যায় এবং লিস্টের সাইজ ১ বৃদ্ধি পায়।
সিনট্যাক্স
list_container1.push_front(value_type& value);
প্যারামিটার
এই ফাংশন একটি প্যারামিটার গ্রহণ করে যা লিস্টের শুরুতে ইনসার্ট করার জন্য মান।
রিটার্ন মান
এই ফাংশন কিছুই রিটার্ন করে না।
উদাহরণ
Input: list<int> List_container = {10, 11, 13, 15}; List_container.push_front(9); Output: List = 9 10 11 13 15
পূর্ণ কোড উদাহরণ
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> myList{};
myList.push_front(10);
myList.push_front(20);
myList.push_front(30);
myList.push_front(40);
myList.push_front(50);
myList.sort();
cout << "Elements in the list are : ";
for (auto i = myList.begin(); i != myList.end(); ++i)
cout << ' ' << *i;
return 0;
}
আউটপুট
Elements in the list are : 10 20 30 40 50
list::push_back() কী?
list::push_back() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন যা <list> হেডার ফাইলে ঘোষিত। এটি লিস্ট কন্টেইনারের শেষে এলিমেন্ট পুশ/ইনসার্ট করতে ব্যবহৃত হয়। নতুন এলিমেন্ট শেষে যুক্ত হলে, পূর্বের শেষ এলিমেন্ট দ্বিতীয় শেষ এলিমেন্ট হয়ে যায় এবং লিস্টের সাইজ ১ বৃদ্ধি পায়।
সিনট্যাক্স
list_container1.push_back(value_type& value);
প্যারামিটার
এই ফাংশন একটি প্যারামিটার গ্রহণ করে যা লিস্টের শেষে ইনসার্ট করার জন্য মান।
রিটার্ন মান
এই ফাংশন কিছুই রিটার্ন করে না।
উদাহরণ
Input: list<int> List_container = {10, 11, 13, 15}; List_container.push_back(9); Output: List = 10 11 13 15 9
পূর্ণ কোড উদাহরণ
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> myList{};
myList.push_back(10);
myList.push_back(20);
myList.push_back(30);
myList.push_back(40);
myList.push_back(50);
myList.sort();
cout << "Elements in the list are : ";
for (auto i = myList.begin(); i != myList.end(); ++i)
cout << ' ' << *i;
return 0;
}
আউটপুট
Elements in the list are : 10 20 30 40 50