এই আর্টিকেলে আমরা C++-এ list::end() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ আলোচনা করব।
STL-এ List কী?
List হলো একটি ডেটা স্ট্রাকচার যা সিকোয়েন্সে যেকোনো জায়গায় কনস্ট্যান্ট টাইমে ইনসারশন এবং ডিলিশন অনুমতি দেয়। লিস্টগুলো ডাবলি লিংকড লিস্ট হিসেবে ইমপ্লিমেন্ট করা হয়। লিস্ট নন-কন্টিগুয়াস মেমরি এলোকেশন অনুমতি দেয়। অ্যারের, ভেক্টরের এবং ডিকের চেয়ে লিস্টে ইনসারশন, এক্সট্রাকশন এবং এলিমেন্ট মুভিং যেকোনো পজিশনে দ্রুত হয়। লিস্টে এলিমেন্টে ডায়রেক্ট অ্যাক্সেস ধীর এবং লিস্ট forward_list-এর মতো, কিন্তু forward list অবজেক্টগুলো সিঙ্গলি লিংকড লিস্ট এবং সেগুলো শুধু ফরওয়ার্ডে ইটারেট করা যায়।
list::end() কী?
list::end() হলো C++ STL-এ একটি বিল্ট-ইন ফাংশন যা <list> হেডার ফাইলে ডিক্লেয়ার করা আছে। end() একটি ইটারেটর রিটার্ন করে যা লিস্ট কন্টেইনারে এন্ড পজিশনের পরবর্তী এলিমেন্টকে রেফার করে। এই ফাংশন কন্টেইনারে কোনো এলিমেন্টকে পয়েন্ট করে না।
এই ফাংশন প্রায়শই list::begin() এর সাথে ব্যবহার করা হয় একটি নির্দিষ্ট লিস্ট কন্টেইনারের রেঞ্জ দেওয়ার জন্য।
সিনট্যাক্স
list_container.end();
এই ফাংশন কোনো প্যারামিটার নেয় না।
রিটার্ন ভ্যালু
এই ফাংশন একটি লিস্ট কন্টেইনারের শেষ এলিমেন্টের পরের পজিশনকে রিটার্ন করে।
উদাহরণ
/* নিচের কোডে আমরা end() ফাংশন ব্যবহার করে একটি লিস্টে উপস্থিত এলিমেন্টগুলো ট্রাভার্স করছি। */
#include <bits/stdc++.h> using namespace std; int main(){ //create a list list<int> myList; //insert elements to List suing push_back() function myList.push_back(67); myList.push_back(12); myList.push_back(32); myList.push_back(780); myList.push_back(78); cout<<"elements in the list are :\n"; for (auto j = myList.begin(); j!= myList.end(); j++){ cout << *j << " "; } return 0; }
উদাহরণ
উপরোক্ত কোড রান করলে নিচের আউটপুট জেনারেট হবে
Elements in the list are: 67 12 32 780 78
উদাহরণ
/* নিচের কোডে আমরা হেডার ফাইল ব্যবহার করে end() ফাংশনের মাধ্যমে একটি লিস্টে উপস্থিত এলিমেন্টগুলো অ্যাক্সেস করছি। */
#include <iostream> #include <list> int main (){ //creating array of elements int values[] = {67, 12, 32, 780, 78}; //inserting values to the list std::list<int> myList (values,values+5); std::cout << "elements in the list are :\n"; //accessing list elements using iterator returned by an end() function for (std::list<int>::iterator i = myList.begin() ; i != myList.end(); ++i) std::cout << ' ' << *i; return 0; }
আউটপুট
উপরোক্ত কোড রান করলে নিচের আউটপুট জেনারেট হবে
Elements in the list are: 67 12 32 780 78