২-৩ঃ ভেক্টর মডিফাইয়ার ফাংশন -১
এই পেইজে আমরা একটি ভেক্টর কে কীভাবে বিভিন্ন ফানশনের সাহায্যে মডিফাই করা যায় তা দেখবো।
ভেক্টর কে মডিফাই করার বিভিন্ন ফাংশনঃ 1. ভেক্টর এসাইনঃ আমরা চাইলে একটি ভেক্টর এ আরেকটি ভেক্টর এসাইন করতে পারি। যদি ঐ দুইটি ভেক্টরের সাইজ সমান হয় , সেক্ষেত্রে এই এসাইনের টাইম কমপ্লেক্সিটি হবে O(1) , অন্যথায় এর টাইম কমপ্লেক্সিটি হবে O(N)
vector<int>v = {1,2,3,4} ;
vector<int> v1 ;
v1 = v ; // v1 এর মধ্যে v er সব ভ্যালু এসাইন হয়ে যাবে। push_back() -> এই ফাংশনের মাধ্যমে আমরা ভেক্টরের শেষের দিকে একটি ভ্যালু insert করতে পারি । একটি ভ্যালু insert করার পর vector টির সাইজ ১ বেড়ে যাবে। এই ফাংশনের টাইম কমপ্লেক্সিটি হলো O(1).
pop_back() -> এই ফাংশনের সাহায্যে আমরা ভেক্টরের সর্ব ডানের ভ্যালুটি ডিলিট করতে পারি। ভ্যালু কমে যাওয়ার কারণে ভেক্টরের সাইজ ও ১ কমে যাবে। এই ফাংশনের টাইম কমপ্লেক্সিটি O(1).
v.insert() : এই ফাংশনের সাহায্যে আমরা ভেক্টরের যেকোন index এ ভ্যালু এড করতে পারবো। এই ফাংশনের টাইম কমপ্লেক্সিটি হলো O(N+K) যেখানে N হলো ভেক্টরের সাইজ এবং K হলো আমরা কয়টি ভ্যালু insert করবো তার সংখ্যা। ধরেন আমরা চাচ্ছি আমাদের ভেক্টরের k তম index ভ্যালু ১০ এড করতে। এই ক্ষেত্রে আমরা লিখবো , তার index এবং তার ভ্যালু। এরপর আমি যদি চাই , একটি index থেকে শুরু করে আরেকটি ভেক্টর এখানে insert করতে এই ক্ষেত্রে আমরা ফাংশনে ভেক্টরের index , এবং আরেকটি ভেক্টর এর শুরু এবং শেষের পয়েন্টার টা দিয়ে দিবো। নিচে ভেক্টরে কোন একটি ইন্ডেক্সের পজিশন কীভাবে বের করা যায় তা চিত্রে দেখানো হলো
v.erase() -> এই ফাংশনের সাহায্যে আমরা ভেক্টরের কোন একটি ইন্ডেক্সের ভ্যালু ডিলিট করতে পারি। এর জন্য এই ফাংশনে ঐ ইন্ডেক্সের পয়েন্টার টি পাস করে দিতে হবে। আমরা যদি চাই একটি রেঞ্জের সকল ভ্যালু গুলা ডিলিট করতে তবে erase ফাংশনের মধ্যে যে ভ্যালু থেকে শুরু করতে চাই তবে এই ক্ষেত্রে ঐ রেঞ্জের শুরুর ইন্ডেক্সের পয়েন্টার এবং ঐ রেঞ্জের শেষের ইন্ডেক্সের পয়েন্টার পাস করতে হবে।
Last updated