কম্পিউটার টিউটোরিয়াল

C++ STL-এ list::pop_front() এবং list::pop_back()

STL-এ List কী?

List হল একটি ডেটা স্ট্রাকচার যা সিকোয়েন্সের যেকোনো স্থানে কনস্ট্যান্ট টাইমে ইন্সারশন এবং ডিলিশন করার অনুমতি দেয়। লিস্টগুলো ডাবলি লিংকড লিস্ট হিসেবে ইমপ্লিমেন্ট করা হয়। লিস্ট নন-কন্টিগ্যুয়াস মেমোরি অ্যালোকেশন অনুমোদন করে। অ্যারে, ভেক্টর এবং ডিকের চেয়ে লিস্ট যেকোনো পজিশনে এলিমেন্ট ইন্সার্ট, এক্সট্রাক্ট এবং মুভ করার ক্ষেত্রে ভালো পারফরম করে। লিস্টে এলিমেন্টে ডায়রেক্ট অ্যাক্সেস ধীরগতির এবং লিস্ট forward_list-এর সাথে সাদৃশ্য রেখেছে, কিন্তু forward_list অবজেক্টগুলো সিঙ্গলি লিংকড লিস্ট এবং সেগুলো শুধু ফরওয়ার্ড দিয়ে ইটারেট করা যায়।

list::pop_front() কী?

list::pop_front() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন যা হেডার ফাইলে ডিক্লেয়ার করা আছে। pop_front() লিস্টের শুরুতে থাকা এলিমেন্টটি পপ/রিমুভ করতে ব্যবহৃত হয়। এই ফাংশন ব্যবহার করার সময় কন্টেইনারে ইতিমধ্যে থাকা প্রথম এলিমেন্টটি রিমুভ হয় এবং প্রথম এলিমেন্টের পরের এলিমেন্টটি লিস্ট কন্টেইনারের প্রথম এলিমেন্টে পরিণত হয়, ফলে কন্টেইনারের সাইজ ১ কমে যায়।

সিনট্যাক্স

list_container1.pop_front();

প্যারামিটার

এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।

রিটার্ন ভ্যালু

এই ফাংশন কিছুই রিটার্ন করে না।

উদাহরণ

Input: list<int> List_container = {10, 11, 13, 15}; List_container.pop_front(); Output: List = 11 13 15

সম্পূর্ণ কোড উদাহরণ

#include <iostream>
#include <list>
using namespace std;

int main() {
    list<int> myList_1 = {}, myList_2 = {};
    myList_1.push_front(10);
    myList_1.push_front(20);
    myList_1.push_front(30);
    myList_1.push_front(40);
    myList_1.push_front(50);
    while (!myList_1.empty()) {
        myList_2.push_front(myList_1.front());
        myList_1.pop_front();
    }
    cout << "Elements in the list are : ";
    for (auto i = myList_2.begin(); i != myList_2.end(); ++i)
        cout << ' ' << *i;
}

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট জেনারেট হবে:

Elements in the list are : 10 20 30 40 50

list::pop_back() কী?

list::pop_back() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন যা হেডার ফাইলে ডিক্লেয়ার করা আছে। pop_back() লিস্ট কন্টেইনারের পिछোনো বা শেষ এলিমেন্টটি রিমুভ/পপ করতে ব্যবহৃত হয়। pop_back ব্যবহার করলে সে শেষ এলিমেন্টটি রিমুভ করে এবং শেষ এলিমেন্টের আগের এলিমেন্টটি নতুন শেষ এলিমেন্ট হয়ে যায়, ফলে লিস্ট কন্টেইনারের সাইজ ১ কমে যায়।

সিনট্যাক্স

list_container.pop_back();

প্যারামিটার

এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।

রিটার্ন ভ্যালু

এই ফাংশন কিছুই রিটার্ন করে না।

উদাহরণ

Input: list<int> List_container = {10, 11, 13, 15}; List_container.pop_back(); Output: List = 10 11 13

সম্পূর্ণ কোড উদাহরণ

#include <iostream>
#include <list>
using namespace std;

int main() {
    list<int> myList_1 = {}, myList_2 = {};
    myList_1.push_front(10);
    myList_1.push_front(20);
    myList_1.push_front(30);
    myList_1.push_front(40);
    myList_1.push_front(50);
    while (!myList_1.empty()) {
        myList_2.push_front(myList_1.back());
        myList_1.pop_back();
    }
    cout << "Elements in the list are : ";
    for (auto i = myList_2.begin(); i != myList_2.end(); ++i)
        cout << ' ' << *i;
}

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট জেনারেট হবে:

Elements in the list are : 50 40 30 20 10
  1. C++ STL-এ list unique() ফাংশন

  2. C++ STL-এ list begin() এবং list end() ফাংশন

  3. C++ STL-এ list crbegin() এবং crend() ফাংশন

  4. C++ STL-এ list cbegin() এবং cend() ফাংশন