১০-২ঃ List Capacity Functions
List এর সাইজ কতো তা জানার জন্য আমরা কিছু বিল্ট ইন ফাংশন ব্যবহার করতে পারি। এগুলাকে List এর Capacity function বলা হয়ে থাকে।
list_name.size() -> এই ফাংশনের মাধ্যমে আমরা O(1) টাইম কমপ্লেক্সিটি তে List এর সাইজ জানতে পারবো
list< int > my_list(10) ;
cout << my_list.size() << endl ; // returns 10 .
list_name.max_size() -> এই ফাংশনের মাধ্যমে একটি List এর ম্যক্সিমাম কত সাইজের হতে পারে তার সম্পর্কে আমরা ধারণা পেতে পারি
list< int > my_list ;
cout << my_list.max_size() << endl ; // এটি একটি ১০^৯ এর কাছাকাছি একটি ভ্যালু রিটার্ন করে .
List এর সব ভ্যালু মুছে ফেলার টেকনিকঃ মাঝে মাঝে আমাদের List এ যা যা আছে তা মুছে ফেলার প্রয়োজন হয়। এই ক্ষেত্রে আমরা একটি বিল্ট ইন ফাংশন ব্যবহার করতে পারি তা হলো list_name.clear() ফাংশন। এই ফানশনের সাহায্যে আমরা O(N) কমপ্লক্সিটি এর সাহায্যে List এর সব ভ্যালু গুলা মুছে দিতে পারি। এই ক্ষেত্রে সে ভ্যালু গুলা মুছে দিয়ে সাইজ ০ করে দেয়.
list < int > my_list = {1,2,3,4} ; // একটি List ডিক্লেয়ার করে সেখানে এই ভ্যালু গুলা দিয়ে ইনিশিয়ালাইজ করলাম
cout << my_list.size() << endl ; // যেহেতু এখানে ৪ টি ভ্যালু আছে তাই এই list সাইজ ৪ রিটার্ন করবে
my_list.clear() ; // List ক্লিয়ার করা হলো
cout << my_list.size() << endl ; // list টি ক্লিয়ার করার কারণে তার সাইজ ০ প্রিন্ট হবে
আরো কিছু ফাংশনঃ
my_list.empty() -> এই ফাংশন ব্যবহার করে আমরা list টি খালি কিনা চেক করতে পারবো। list খালি হলে ফাংশন টি ১( true) রিটার্ন করে খালি না হলে 0 ( false) রিটার্ন করে
list < int > my_list = {1,2,3,4} ; // একটি list ডিক্লেয়ার করে সেখানে এই ভ্যালু গুলা দিয়ে ইনিশিয়ালাইজ করলাম
cout << my_list.empty() << endl ; // ০ প্রিন্ট হবে কারণ my_list খালি নয়
my_list.clear() ; // List টি খালি করা হলো
cout << my_list.empty() << endl ; // ১ প্রিন্ট হবে কারণ my_list খালি।
list_name.resize() -> এই ফাংশনের সাহায্যে প্রোগ্রাম এর রান টাইম এ আমরা List সাইজ কে পরিবর্তন করতে পারি। এই ক্ষেত্রে List যে অংশগুলোতে ভ্যালু ছিলো তা ঠিক মতো থাকবে, এবং বাকি ঘর গুলো ০ দিয়ে ইনিশিয়ালাইজ হবে। চাইলে আমরা list_name. resize(new_size, desired_value) ব্যবহার করে বাকি পজিশন গুলাতে নিজের ইচ্ছা অনুযায়ী ভ্যালু ও সেট করতে পারি। list_name.resize(new_size) ফাংশনের টাইম কমপ্লেক্সিটি O( new_size - previous_size ) ;
list<int> my_list = {1, 2, 3, 4}; // একটি list ডিক্লেয়ার করে সেখানে এই ভ্যালু গুলা দিয়ে ইনিশিয়ালাইজ করলাম
for (int element : my_list)
{
cout << element << " ";
} // 1 2 3 4 প্রিন্ট করবে
my_list.resize(10); // List এর সাইজ পরিবর্তন করে ১০ করে দিবে
for (int element : my_list)
{
cout << element << " ";
} // 1 2 3 4 0 0 0 0 0 0
// যেহেতু ৪ নাম্বার পজিশন পর্যন্ত ভ্যালু ছিলো তা ঠিক মতো আছে, বাকি সব পজিশন ০ ভ্যালু দিয়ে ইনিশায়ালাইজ করেছে
list.resize(10,100); // List এর সাইজ পরিবর্তন করে ১০ করে দিবে এবং বাকি ভ্যালু গুলা ১০০ দিয়ে ইনিশিয়ালাইজ করে দিবে
Last updated