Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ triển khai Vector trong STL

vector là một mảng động có khả năng tự thay đổi kích thước khi chèn hoặc xóa phần tử. Các phần tử được lưu trữ liên tiếp trong bộ nhớ, cho phép truy cập ngẫu nhiên và duyệt bằng iterator. Dữ liệu có thể chèn/xóa ở đầu, giữa hoặc cuối vector.

Các hàm chính và mô tả

  • v.size() – Trả về số phần tử hiện tại.
  • v.push_back() – Thêm phần tử vào cuối vector.
  • v.pop_back() – Xóa phần tử cuối cùng.
  • v.capacity() – Trả về dung lượng bộ nhớ đã cấp phát (số phần tử tối đa trước khi cần cấp phát lại).
  • v.clear() – Xóa tất cả phần tử, kích thước trở về 0.

Ví dụ mã: Menu tương tác với Vector

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

int main() {
    vector<int> v;
    vector<int>::iterator it;
    int c, i;

    while (true) {
        cout << "1. Kích thước Vector\n";
        cout << "2. Chèn phần tử vào Vector\n";
        cout << "3. Xóa phần tử cuối\n";
        cout << "4. Hiển thị dung lượng (capacity)\n";
        cout << "5. Duyệt bằng Iterator\n";
        cout << "6. Xóa toàn bộ Vector\n";
        cout << "7. Thoát\n";
        cout << "Nhập lựa chọn: ";
        cin >> c;

        switch (c) {
            case 1:
                cout << "Kích thước Vector: " << v.size() << endl;
                break;
            case 2:
                cout << "Nhập giá trị: ";
                cin >> i;
                v.push_back(i);
                break;
            case 3:
                if (!v.empty()) {
                    cout << "Đã xóa: " << v.back() << endl;
                    v.pop_back();
                } else {
                    cout << "Vector rỗng!\n";
                }
                break;
            case 4:
                cout << "Dung lượng vector: " << v.capacity() << endl;
                break;
            case 5:
                cout << "Vector: ";
                for (it = v.begin(); it != v.end(); ++it)
                    cout << *it << " ";
                cout << endl;
                break;
            case 6:
                v.clear();
                cout << "Đã xóa toàn bộ Vector\n";
                break;
            case 7:
                return 0;
            default:
                cout << "Lựa chọn không hợp lệ\n";
        }
    }
    return 0;
}

Kết quả mẫu

1. Kích thước Vector
2. Chèn phần tử vào Vector
3. Xóa phần tử cuối
4. Hiển thị dung lượng (capacity)
5. Duyệt bằng Iterator
6. Xóa toàn bộ Vector
7. Thoát
Nhập lựa chọn: 1
Kích thước Vector: 0
...
Nhập lựa chọn: 2
Nhập giá trị: 7
...
Nhập lựa chọn: 5
Vector: 7 6 4 3 5
...
Nhập lựa chọn: 3
Đã xóa: 5
...
Nhập lựa chọn: 6
Đã xóa toàn bộ Vector
Nhập lựa chọn: 7