কম্পিউটার টিউটোরিয়াল

C++ STL-এ Vector বাস্তবায়ন: ডাইনামিক অ্যারে ব্যবহার

C++ STL-এ vector একটি ডাইনামিক অ্যারে যা স্বয়ংক্রিয়ভাবে আকার পরিবর্তন করতে পারে। উপাদান সন্নিবেশ বা মুছে ফেলার সময় এটি নিজে নিজে স্টোরেজ হ্যান্ডেল করে। ভেক্টরের উপাদানগুলো স্মৃতিতে সन्नিহিত (contiguous) থাকে, তাই ইটারেটর দিয়ে দ্রুত অ্যাক্সেস ও ট্রাভার্সাল সম্ভব। ভেক্টরের শুরু, মাঝপথ বা শেষে ডেটা সন্নিবেশ বা মুছে ফেলা যায়।

প্রধান ফাংশন ও বর্ণনা:

  • v.size() – ভেক্টরের বর্তমান আকার (উপাদান সংখ্যা) রিটার্ন করে।
  • v.push_back() – ভেক্টরের শেষে উপাদান যোগ করে।
  • v.pop_back() – ভেক্টরের শেষ উপাদানটি মুছে ফেলে।
  • v.capacity() – বর্তমানে অ্যালোকেট করা স্টোরেজ স্পেসের ক্ষমতা (উপাদান সংখ্যা হিসেবে) রিটার্ন করে।
  • v.clear() – ভেক্টরের সব উপাদান মুছে ফেলে।

উদাহরণ কোড: ইন্টারেক্টিভ মেনু-চালিত প্রোগ্রাম

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> v;
    vector<int>::iterator it;
    int choice, value;

    while (true) {
        cout << "1. Size of the Vector" << endl;
        cout << "2. Insert Element into the Vector" << endl;
        cout << "3. Delete Last Element of the Vector" << endl;
        cout << "4. Display Capacity of Vector" << endl;
        cout << "5. Display by Iterator" << endl;
        cout << "6. Clear the Vector" << endl;
        cout << "7. Exit" << endl;
        cout << "Enter your Choice: ";
        cin >> choice;

        switch (choice) {
            case 1:
                cout << "Size of Vector: " << v.size() << endl;
                break;
            case 2:
                cout << "Enter value to be inserted: ";
                cin >> value;
                v.push_back(value);
                break;
            case 3:
                if (!v.empty()) {
                    cout << "Delete Last Element Inserted:" << endl;
                    v.pop_back();
                } else {
                    cout << "Vector is empty!" << endl;
                }
                break;
            case 4:
                cout << "Displaying capacity of vector: " << v.capacity() << endl;
                break;
            case 5:
                cout << "Displaying Vector by Iterator: ";
                for (it = v.begin(); it != v.end(); ++it)
                    cout << *it << " ";
                cout << endl;
                break;
            case 6:
                v.clear();
                cout << "Vector Cleared" << endl;
                break;
            case 7:
                exit(0);
            default:
                cout << "Wrong Choice" << endl;
        }
    }
    return 0;
}

নমুনা আউটপুট

1. Size of the Vector
2. Insert Element into the Vector
3. Delete Last Element of the Vector
4. Display Capacity of Vector
5. Display by Iterator
6. Clear the Vector
7. Exit
Enter your Choice: 1
Size of Vector: 0
...
Enter your Choice: 2
Enter value to be inserted: 7
...
Enter your Choice: 4
Displaying capacity of vector: 8
Enter your Choice: 5
Displaying Vector by Iterator: 7 6 4 3 5
Enter your Choice: 3
Delete Last Element Inserted:
Enter your Choice: 5
Displaying Vector by Iterator: 7 6 4 3
Enter your Choice: 6
Vector Cleared
Enter your Choice: 7
Exit.

মনে রাখবেন: capacity() সাধারণত size()-এর চেয়ে বড় হয় কারণ ভেক্টর ভবিষ্যতে উপাদান যোগ করার জন্য অতিরিক্ত মেমরি রিজার্ভ করে রাখে। এটি পারফরম্যান্স বাড়াতে সাহায্য করে।

  1. C++ STL-এ Set Union বাস্তবায়ন: দুটি সেটের ইউনিয়ন

  2. C++ STL-এ Set Symmetric Difference বাস্তবায়ন

  3. C++ STL-এ Set Intersection বাস্তবায়ন: দুটি সেটের অন্তঃসেট

  4. C++ STL-এ Set Difference বাস্তবায়ন: সেট বিয়োগ