১০-১ঃ List Constructors
লিস্ট হলো ভেক্টরের মতো একটি Standard Library বা বিল্ট-ইন ডাটা স্ট্রাকচার। এটি Doubly Linked List এর মতো কাজ করে। অর্থাৎ Doubly Linked List এ যা যা করা সম্ভব তার সব কিছু এই List STL এ করা যাবে । ভেক্টরে কন্সট্রাক্টর এর সাহায্যে আমরা যে যে কাজ গুলো করতে পারতাম ঠিক এক ই ভাবে List এও ঐসব কাজ করা যাবে। প্রথমে দেখে নেয়া যাক কীভাবে লিস্ট ইনিশিয়ালাইজ করা যায়।
১ম টাইপঃ
যদি আমরা না জানি initially আমাদের List এর সাইজ কতো হবে সেই ক্ষেত্রে আমরা কোন সাইজ ছাড়া List ডিক্লেয়ার করবো। নিচের মতো প্রথমে list keyword ব্যবহার করে কোন টাইপের ডেটা রাখতে চাচ্ছেন তার ডাটা টাইপ দিতে হবে এবং ঐ list এর নাম দিতে হবে।
Type 1 :
list< data_type > list_name ;
Code :
list<int> my_list ; // এর মাধ্যমে ইন্টিজার ডাটা টাইপের একটি list তৈরি হবে
list<char> my_list ; // এর মাধ্যমে ক্যারেক্টার ডাটা টাইপের একটি list তৈরি হবে
list<float> my_list ; // এর মাধ্যমে ফ্লোট ডাটা টাইপের একটি list তৈরি হবে
list<long long> my_list ; // এর মাধ্যমে লং লং ইন্টিজার ডাটা টাইপের একটি list তৈরি হবে ২য় টাইপঃ আমরা যদি আগে থেকেই আমাদের কী পরিমাণ ডাটা দেয়া থাকবে তা জানতে পারি , তবে সেক্ষেত্রে আমরা একটি নির্দিষ্ট সাইজের List ডিক্লেয়ার করতে পারবো। এই ক্ষেত্রে List টি মেমরি তে নির্দিষ্ট সাইজের জায়গা দখল করে নিবে। এবং ভ্যালু ইনপুট না দেয়া পর্যন্ত Garbage value রেখে দিবে। নিচের মতো প্রথমে list keyword ব্যবহার করে কোন টাইপের ডেটা রাখতে চাচ্ছেন তার ডাটা টাইপ দিতে হবে এবং ঐ list এর নাম দিতে হবে এবং একই সাথে লিস্টের সাইজ টা দিয়ে দিতে হবে।
Type 2 :
list< data_type > list_name (size) ;
Code :
list<int> my_list(100) ; // এর মাধ্যমে 100 সাইজের ইন্টিজার ডাটা টাইপের একটি list তৈরি হবে
list<char> my_list(50) ; // এর মাধ্যমে 50 সাইজের ক্যারেক্টার ডাটা টাইপের একটি list তৈরি হবে
list<float> my_list(30) ; // এর মাধ্যমে 30 সাইজের ফ্লোট ডাটা টাইপের একটি list তৈরি হবে
list<long long> my_list(40) ; // এর মাধ্যমে 40 সাইজের লং লং ইন্টিজার ডাটা টাইপের একটি list তৈরি ৩য় টাইপঃ
আমরা যদি আগে থেকেই আমাদের কী পরিমাণ ডাটা দেয়া থাকবে তা জানতে পারি, তবে সেক্ষেত্রে আমরা একটি নির্দিষ্ট সাইজের List ডিক্লেয়ার করতে পারবো। List টি মেমরি তে নির্দিষ্ট সাইজের জায়গা দখল করে নিবে। এবং আমরা গারবেজ ভ্যালু এর পরবর্তীতে আমাদের পছন্দের ভ্যালু দিয়ে ঐ জায়গা গুলো পূরণ করতে পারবো । নিচের মতো প্রথমে list keyword ব্যবহার করে কোন টাইপের ডেটা রাখতে চাচ্ছেন তার ডাটা টাইপ দিতে হবে, List এর নাম দিতে হবে, List এর সাইজ দিতে হবে এবং একই সাথে ঐ List এর প্রত্যেকটি ভ্যালু কি দিয়ে ইনিশিয়ালাইজ করতে চাই তাও দিয়ে দিতে হবে।
৪ তম টাইপঃ যদি আমরা চাই একটি লিস্ট কে আরেকটি লিস্ট এর মধ্যে কপি করে নিতে তবে আমরা নিচের মতো করে কোড লিখতে পারি । একই সাথে আরেকটি Array এবং ভেক্টর থেকেও এই কাজ করা যাবে
List এর প্রতিটি element কে সহজে এক্সেস করার উপায়ঃ আমরা Range Based For loop এর সাহায্যে এই কাজ টি সহজে করতে পারি।
Last updated