C++ এ STL কন্টেইনার কি কি?

C E Stl Kante Inara Ki Ki



C++ এ, STL (স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি), পাত্রে অন্যান্য বস্তুর সংগ্রহ সংরক্ষণ করতে ব্যবহৃত বস্তু। তারা ক্লাস টেমপ্লেটের অনুরূপভাবে কাজ করে এবং প্রচুর সংখ্যক উপাদানের প্রকারকে সমর্থন করে এবং তাদের উপাদানগুলি সরাসরি বা পুনরাবৃত্তির মাধ্যমে অ্যাক্সেস করার জন্য সদস্য ফাংশন প্রদান করে।

C++ STL পাত্রের প্রকারভেদ

C++ এ, তিন ধরনের STL আছে পাত্রে , যা নীচে তালিকাভুক্ত করা হয়েছে:







1: অনুক্রমিক ধারক

C++ এ, অনুক্রমিক পাত্র আমাদেরকে এমন আইটেমগুলি সংরক্ষণ করতে সক্ষম করে যা ক্রমানুসারে পুনরুদ্ধার করা যেতে পারে। এইগুলো পাত্রে ডেটা স্ট্রাকচারের অ্যারে বা লিঙ্কযুক্ত তালিকা হিসাবে এনকোড করা হয়। কিছু ধরণের অনুক্রমিক পাত্র নীচে দেওয়া হল।



  • ভেক্টর: এটি একটি গতিশীল আকারের অ্যারে যা মেমরিতে সংরক্ষিত পদ্ধতিতে সংরক্ষণ করা হয়।
  • কি সম্বন্ধে: এটি একটি ডবল-এন্ডেড সারি প্রতিনিধিত্ব করে যা সন্নিবেশ এবং মুছে ফেলা উভয়ের জন্য অপারেশন সমর্থন করে।
  • অ্যারে: এটি একটি স্ট্যাটিক অ্যারে যা সংকলনের সময় বরাদ্দ করা হয় এবং এর আকার স্থির রাখা হয়।
  • তালিকা: এটি একটি দ্বিগুণ-সংযুক্ত তালিকা যা তালিকার যেকোনো স্থানে উপাদান দ্রুত সন্নিবেশ এবং মুছে ফেলার কাজ করে।
  • ফরোয়ার্ড তালিকা: এটি একটি তালিকার মতো এককভাবে লিঙ্কযুক্ত তালিকা তবে আপনি এটিকে শুধুমাত্র একটি দিক দিয়ে অতিক্রম করতে পারেন৷

উদাহরণ



এই উদাহরণে, আমরা ব্যবহার করব ভেক্টর ক্লাস দেখানোর জন্য কিভাবে একটি অনুক্রমিক ধারক পরিচালনা করে





# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত <ভেক্টর>
নামস্থান std ব্যবহার করে;
int প্রধান ( ) {
// int এর একটি ভেক্টর শুরু করুন প্রকার
ভেক্টর < int > সংখ্যা = { 10 , 2 , 16 , 70 , 5 } ;
// ভেক্টর প্রিন্ট করুন
cout << 'সংখ্যা হল:' ;
জন্য ( স্বয়ংক্রিয় এবং আমি: সংখ্যা )
{
cout << i << ', ' ;
}
প্রত্যাবর্তন 0 ;
}

উপরোক্ত কোড এর ব্যবহার প্রদর্শন করে অনুক্রমিক পাত্রে ভেক্টর বিন্যাসে, যা পূর্ণসংখ্যা অ্যারে সংরক্ষণের অনুমতি দেয়। প্রোগ্রামটি টাইপের পূর্ণসংখ্যার একটি ভেক্টর শুরু করে, এটিতে মান নির্ধারণ করে এবং একটি লুপ ব্যবহার করে সেগুলি প্রিন্ট করে। এই উদাহরণটি দেখায় কিভাবে C++ ব্যবহার করে ডেটা সংরক্ষণ এবং অ্যাক্সেস করা সহজ অনুক্রমিক ধারক .



2: সহযোগী ধারক

সহযোগী পাত্রে তুলনা অপারেটর দ্বারা সংজ্ঞায়িত নির্দিষ্ট ক্রমে উপাদান সংরক্ষণ করার অনুমতি দিন। অপছন্দ অনুক্রমিক পাত্রে , উপাদানের ক্রম সহযোগী পাত্রে কী ব্যবহার করে রক্ষণাবেক্ষণ করা হয় যা ব্যবহারকারীদের উপাদানগুলিকে সংগঠিত করতে এবং অ্যাক্সেস করতে দেয়। যখন একটি উপাদান একটি ঢোকানো হয় সহযোগী ধারক , এটি স্বয়ংক্রিয়ভাবে তার কী-এর উপর ভিত্তি করে সঠিক অবস্থানে সাজানো হয়। এই ধরনের পাত্রে বাইনারি ট্রি ডেটা স্ট্রাকচারের মতো অভ্যন্তরীণভাবে প্রয়োগ করা হয়।

দ্য সহযোগী পাত্রে হিসাবে শ্রেণীবদ্ধ করা হয়:

  • মানচিত্র: কী-মানের জোড়ার একটি সংগ্রহ যা অনন্য কী ব্যবহার করে সাজানো হয়েছে
  • মাল্টিম্যাপ: কী-মান জোড়ার একটি সংগ্রহ যা কী ব্যবহার করে সাজানো হয়েছে
  • সেট: অনন্য কীগুলি সংগ্রহ করা এবং চাবি দ্বারা সাজানো।
  • মাল্টিসেট: কীগুলির একটি সংগ্রহ যা কী ব্যবহার করে সাজানো হয়েছে

উদাহরণ

কিভাবে একটি চিত্রিত করতে সহযোগী ধারক কাজ করে, আমরা ব্যবহার করব ক্লাস সেট করুন এই উদাহরণে।

# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত <সেট>
নামস্থান std ব্যবহার করে;
int প্রধান ( )
{
// আরম্ভ করা a সেট int এর প্রকার
সেট < int > সংখ্যা = { 10 , 2 , 16 , 70 , 5 } ;
// প্রিন্ট করুন সেট
cout << 'সংখ্যা হল:' ;
জন্য ( স্বয়ংক্রিয় এবং আমি: সংখ্যা )
{
cout << i << ', ' ;
}
প্রত্যাবর্তন 0 ;
}

উপরের কোডটি C++ এ পূর্ণসংখ্যার একটি সেট শুরু করে, যা একটি সহযোগী কন্টেইনারের উদাহরণ। সেট নিশ্চিত করে যে উপাদানগুলি ডিফল্টভাবে আরোহী ক্রমে সাজানো হয়েছে। কোডটি তখন একটি ফর লুপ ব্যবহার করে সেটের সংখ্যাগুলি প্রিন্ট করে।

3: অবিন্যস্ত অ্যাসোসিয়েটিভ কন্টেইনার

C++ এ, unordered associative পাত্রে একটি এর সাজানো সংস্করণ প্রদানের জন্য ব্যবহৃত হয় সহযোগী ধারক . এগুলি হ্যাশ টেবিল ডেটা স্ট্রাকচারের মতো অভ্যন্তরীণভাবে প্রয়োগ করা হয়। দ্য সহযোগী পাত্রে হিসাবে শ্রেণীবদ্ধ করা হয়:

  • অবিন্যস্ত মানচিত্র: কী-মানের জোড়ার একটি সংগ্রহ যা অনন্য কী ব্যবহার করে হ্যাশ করা হয়েছে।
  • অবিন্যস্ত মাল্টিম্যাপ: কী-মান জোড়া সংগ্রহ যা কী ব্যবহার করে হ্যাশ করা হয়েছে।
  • ক্রমহীন সেট: অনন্য কীগুলির একটি সংগ্রহ যা কী ব্যবহার করে হ্যাশ করা হয়েছে।
  • ক্রমহীন মাল্টিসেট: কীগুলির একটি সংগ্রহ যা কী ব্যবহার করে হ্যাশ করা হয়েছে।

উদাহরণ

কিভাবে একটি চিত্রিত করার জন্য unordered associative ধারক কাজ করে, আমরা ব্যবহার করব অবিন্যস্ত সেট এই উদাহরণে ক্লাস।

# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত
নামস্থান std ব্যবহার করে;
int প্রধান ( )
{
// int এর একটি unordered_set আরম্ভ করুন প্রকার
unordered_set < int > সংখ্যা = { 10 , 2 , 16 , 70 , 5 } ;
// প্রিন্ট করুন সেট
cout << 'সংখ্যা হল:' ;
জন্য ( স্বয়ংক্রিয় এবং আমি: সংখ্যা )
{
cout << i << ', ' ;
}
প্রত্যাবর্তন 0 ;
}

উপসংহার

একটি STL C++ ধারক অন্যান্য বস্তুর সংগ্রহ সংরক্ষণ করার জন্য ধারক বস্তু। তারা ক্লাস টেমপ্লেটের অনুরূপভাবে কাজ করে এবং প্রচুর পরিমাণে উপাদানের ধরন সমর্থন করে। এই টিউটোরিয়ালে, আমরা সবচেয়ে বেশি ব্যবহৃত STL C++ কন্টেইনার নিয়ে আলোচনা করেছি অনুক্রমিক পাত্রে, সহযোগী পাত্রে সেইসাথে অবিন্যস্ত সহযোগী পাত্রে .