এই আর্টিকেলে আমরা C++-এ list::empty() ফাংশনের কাজকর্ম, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
STL-এ List কী?
লিস্ট হলো একটি ডেটা স্ট্রাকচার যা সিকোয়েন্সের যেকোনো স্থানে কনস্ট্যান্ট টাইমে ইন্সারশন এবং ডিলিশন করার সুবিধা দেয়। লিস্ট ডাবলি লিংকড লিস্ট হিসেবে ইমপ্লিমেন্ট করা হয়। লিস্ট নন-কন্টiguous মেমরি অ্যালোকেশন অনুমতি দেয়। অ্যারের, ভেক্টরের এবং ডিকের চেয়ে লিস্টে যেকোনো পজিশনে এলিমেন্ট ইন্সার্ট, এক্সট্র্যাক্ট এবং মুভ করা দ্রুততর। তবে লিস্টে ডিরেক্ট এলিমেন্ট অ্যাক্সেস ধীর। লিস্ট forward_list-এর সমান, কিন্তু forward_list সিঙ্গলি লিংকড এবং শুধু ফরওয়ার্ডই ইটারেট করা যায়।
list::empty() কী?
list::empty() C++ STL-এ একটি বিল্ট-ইন ফাংশন যা <list> হেডার ফাইলে ডিক্লেয়ার করা আছে। এই ফাংশন চেক করে যে দেওয়া লিস্ট কন্টেইনারটি খালি (সাইজ ০) কিনা। খালি হলে true, অন্যথায় false রিটার্ন করে।
সিনট্যাক্স
bool list_name.empty();
এই ফাংশন কোনো মান গ্রহণ করে না।
রিটার্ন ভ্যালু
কন্টেইনারের সাইজ শূন্য হলে true, অন্যথায় false রিটার্ন করে।
উদাহরণ ১
#include <bits/stdc++.h>
using namespace std;
int main() {
list<int> myList; //to create a list
//call empty() function to check if list is empty or not
if (myList.empty())
cout << "my list is empty\n";
else
cout << "my list isn't empty\n";
//push_back() is used to insert element in a list
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
myList.push_back(4);
if (myList.empty())
cout << "my list is empty\n";
else
cout << "my list is not empty\n";
return 0;
}
আউটপুট
my list is empty my list is not empty
উদাহরণ ২: ১ থেকে ১০ পর্যন্ত গুণফল বের করা
#include <bits/stdc++.h>
using namespace std;
int main() {
list<int> myList;
long long product = 1; // শুরুতে ১ রাখা উচিত, ০ রাখলে গুণফল ০ হবে
for (int i = 1; i <= 10; ++i)
myList.push_back(i);
while (!myList.empty()) {
product *= myList.front();
myList.pop_front();
}
cout << "product of numbers from 1-10 is: " << product << '\n';
return 0;
}
আউটপুট
product of numbers from 1-10 is: 3628800
সংশোধন: মূল কোডে int product = 0; ছিল, যা ভুল কারণ ০ দিয়ে গুণ করলে ফলাফল ০ হয়। এখানে long long product = 1; ব্যবহার করা হয়েছে।