এই নিবন্ধে আমরা C++ এ তালিকা::resize() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
STL-এ একটি তালিকা কী
তালিকা হল একটি ডেটা স্ট্রাকচার যা ক্রমাগত সময় সন্নিবেশ এবং ক্রমানুসারে কোথাও মুছে ফেলার অনুমতি দেয়। তালিকাগুলি দ্বিগুণ লিঙ্কযুক্ত তালিকা হিসাবে প্রয়োগ করা হয়। তালিকাগুলি অ-সংলগ্ন মেমরি বরাদ্দের অনুমতি দেয়। তালিকা অ্যারে, ভেক্টর এবং ডিক এর চেয়ে কন্টেইনারে যেকোন অবস্থানে উপাদানের উত্তম সন্নিবেশ নিষ্কাশন এবং সরানো সঞ্চালন করে। তালিকায় উপাদানটির সরাসরি অ্যাক্সেস ধীর এবং তালিকা ফরওয়ার্ড_লিস্টের অনুরূপ, তবে ফরোয়ার্ড তালিকা অবজেক্টগুলি একক লিঙ্কযুক্ত তালিকা এবং সেগুলি কেবলমাত্র ফরোয়ার্ডে পুনরাবৃত্তি করা যেতে পারে।
list::resize() কি?
list::resize() হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন যা হেডার ফাইলে ঘোষণা করা হয়। resize() লিস্ট কন্টেইনার রিসাইজ করতে ব্যবহৃত হয়। এটি ধারকটির আকার পরিবর্তন করে, যাতে এতে উপাদানের সংখ্যা থাকবে যা আমরা ফাংশনের যুক্তিতে দেই।
সিনট্যাক্স
list_name.resize(int n);
অথবা
list_name.resize(int n, const value_type &val);
এই ফাংশনটি এক বা দুটি প্যারামিটারের মধ্যে গ্রহণ করতে পারে।
প্যারামিটার
-
n − এটি একটি পূর্ণসংখ্যার ধরন যা নতুন ধারক আকার (উপাদানের সংখ্যা) সংজ্ঞায়িত করে।
-
val − যে বস্তুর বিষয়বস্তু কন্টেইনারের সমস্ত স্পেসে কপি করা হবে৷
৷
রিটার্ন মান
এই ফাংশন কিছুই ফেরত দেয় না. এটি শুধুমাত্র ধারকটির আকার পরিবর্তন করবে৷
৷উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main(){
//create a list
list<int> myList;
//insert elements to the list
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
myList.push_back(4);
//elemets in th list before Resize
cout << "List elements are : ";
for (auto i = myList.begin(); i!= myList.end(); i++)
cout << *i << " ";
//Resizing list
myList.resize(5);
cout<<"\nList after resize: ";
for (auto i = myList.begin(); i!= myList.end(); i++)
cout << *i << " ";
//Resizing list again
myList.resize(6);
cout<<"\nList after resizing it again : ";
for (auto i = myList.begin(); i != myList.end(); i++)
cout << *i << " ";
return 0;
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তাহলে এটি নিম্নলিখিত আউটপুট তৈরি করবে
List elements are : 1 2 3 4 List after resize : 1 2 3 4 0 List after resizing it again : 1 2 3 4 0 0