এই টাস্কে C++ STL-এ list insert() ফাংশনের কার্যকারিতা দেখানো হবে।
STL-এ List কী
List হলো কন্টেইনার যেগুলো সিকোয়েন্সে যেকোনো জায়গায় কনস্ট্যান্ট টাইমে ইনসারশন এবং ডিলিশন করার সুবিধা দেয়। লিস্টগুলো ডাবলি লিংকড লিস্ট হিসেবে ইমপ্লিমেন্টেড। লিস্ট নন-কন্টিগ্যুয়াস মেমরি অ্যালোকেশন অনুমতি দেয়। লিস্ট অ্যarray, vector এবং deque-র চেয়ে যেকোনো পজিশনে এলিমেন্ট ইনসার্ট, এক্সট্র্যাক্ট এবং মুভ করার ক্ষেত্রে ভালো পারফর্ম করে। লিস্টে এলিমেন্টে ডায়রেক্ট অ্যাক্সেস ধীর এবং লিস্ট forward_list-এর সাথে মিল্টি-जুলتی, কিন্তু forward list অবজেক্টগুলো সিঙ্গলি লিংকড লিস্ট এবং সেগুলো শুধু ফরওয়ার্ডে ইটারেট করা যায়।
insert() কী
List insert() ফাংশনটি লিস্টে এলিমেন্ট ইনসার্ট করতে ব্যবহৃত হয়।
এই ফাংশন নির্দিষ্ট পজিশনে এলিমেন্ট ইনসার্ট করতে ব্যবহৃত হয়।
এই ফাংশন লিস্টে n সংখ্যক এলিমেন্ট ইনসার্ট করতে ব্যবহৃত হয়।
এটি নির্দিষ্ট পজিশনে এলিমেন্টের একটি রেঞ্জ ইনসার্ট করতে ব্যবহৃত হয়।
সিনট্যাক্স
insert(iterator position, const value_type& val) insert(iterator position, size_type n, const value_type& value) insert(iterator position, iterator first, iterator last)
প্যারামিটার
Val – এটি লিস্টে ইনসার্ট করা নতুন এলিমেন্টটি নির্দিষ্ট করে।
Position – এটি কন্টেইনারের পজিশন নির্দিষ্ট করে যেখানে নতুন এলিমেন্টগুলো ইনসার্ট হবে।
n – ইনসার্ট করা এলিমেন্টের সংখ্যা।
First, last – এটি ইনসার্ট করা এলিমেন্টের একটি রেঞ্জ নির্দিষ্ট করে।
রিটার্ন ভ্যালু
এটি একটি ইটেরেটর রিটার্ন করে যা নতুন ইনসার্ট করা এলিমেন্টের প্রথমটিকে পয়েন্ট করে।
উদাহরণ
ইনপুট List – 50 60 80 90
আউটপুট নতুন List – 50 60 70 80 90
ইনপুট List – T R E N D
আউটপুট নতুন List – T R E N D S
অনুসরণযোগ্য পদ্ধতি
- প্রথমে লিস্ট ডিক্লেয়ার করুন
তারপর লিস্ট প্রিন্ট করুন।
তারপর insert() ফাংশন ডিক্লেয়ার করুন।
উপরের পদ্ধতি ব্যবহার করে লিস্টে নতুন এলিমেন্ট ইনসার্ট করা যায়। নতুন এলিমেন্টের ডেটা টাইপ লিস্টের মতোই হতে হবে।
উদাহরণ
/ / C++ code to demonstrate the working of list insert( ) function in STL #include<iostream.h> #include<list.h> Using namespace std; int main ( ){ List<int> list = { 55, 84, 38, 66, 67 }; / / print the deque cout<< “ List: “; for( auto x = List.begin( ); x != List.end( ); ++x) cout<< *x << “ “; / / declaring insert( ) function list.insert( x, 6); / / printing new list after inserting new element cout<< “New list “; for( x=list.begin( ); x != list.end( ); ++x) cout<< “ “<<*x; return 0; }আউটপুট
যদি উপরের কোডটি রান করানো হয় তবে নিচের আউটপুট জেনারেট হবে:
Input - List: 55 84 38 66 67 Output - New List: 6 84 38 66 67
উদাহরণ
/ / C++ code to demonstrate the working of list insert( ) function in STL #include<iostream.h> #include<list.h> Using namespace std; int main( ){ List<char> list ={ ‘F’, ‘B’, ‘U’, ‘A’, ‘R’, ‘Y’ }; cout<< “ List: “; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< *x << “ “; / / declaring insert( ) function list.insert(x + 1, 1, ‘E’); / / printing new list after inserting new element cout<< “ New List:”; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< “ “ <<*x; return 0; }আউটপুট
যদি উপরের কোডটি রান করানো হয় তবে নিচের আউটপুট জেনারেট হবে:
Input – List: F B U A R Y Output – New List: F E B U A R Y
উদাহরণ
/ / C++ code to demonstrate the working of list insert( ) function in STL #include<iostream.h> #include<list.h> #include<vector.h> Using namespace std; int main( ){ list<int> list ={ 10, 44, 34, 98, 15 }; cout<< “ list: “; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< *x << “ “; vector<int> l(2, 17); list.insert(x, l.begin( ), l.end( ) ); / / printing new list after inserting new element cout<< “ New list:”; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< “ “ <<*x; return 0; }আউটপুট
যদি উপরের কোডটি রান করানো হয় তবে নিচের আউটপুট জেনারেট হবে:
Input – List: 10 44 34 98 15 Output – New list: 17 17 10 44 34 98 15