– Các hàm vector:
– Demo các hàm vector:
========= ƯU ĐIỂM =========
1. Vector bản chất là 1 mảng 1 chiều – cụ thể nó là 1 cái mảng động – nó là 1 cái siêu mảng động
+ Vector có thể chứa các kiểu dữ liệu cơ sở(int, float, double, char…) và kiểu dữ liệu do người lập trình định nghĩa – struct…
TẠI SAO NÓ LÀ SIÊU MẢNG ĐỘNG
+ Vector có hết tất cả các tính chất mà mảng 1 chiều(mảng tĩnh và mảng động) và có thêm 1 số tính chất riêng của nó nữa(khắc phục nhược điểm của mảng tĩnh và mảng động)
+ Nếu như chúng ra dùng mảng tĩnh hay mảng động thì KHAI BÁO KÍCH THƯỚC CỦA MẢNG CẦN THAO TÁC TRƯỚC. Còn vector không cần khai báo trước số lượng phần tử cần dùng – bởi vì nó được hỗ trợ cái cơ chế tự động thêm phần tử vào cuối (push_back())
+ Tự động đi giải phóng vùng nhớ khi chương trình kết thúc
+ Các thao tác thêm, xóa , tìm kiếm, sắp xếp bên mảng 1 chiều (mảng tĩnh hay mảng động) thì chúng ta phải đi cài – đặt – còn bên vector nó sẽ hỗ trợ chúng ta các hàm xử lí tương tự

========= KHUYẾT ĐIỂM =========
– Tốn bộ nhớ hơn mảng tĩnh và mảng động(do cơ chế container buộc phải tạo ra thêm các vùng nhớ riêng để quản lí chặt chẽ hơn)

String, Vector, List, Stack, Queue…: thuộc thư viện chuẩn của C++ – STL(Standard Template Library)

Nguồn: https://cachlamtangcan.com

Xem thêm bài viết khác: https://cachlamtangcan.com/tong-hop/

Author

11 Comments

  1. chien chien Reply

    anh ơi, các phần tử trong mảng vector có địa chỉ liên tiếp nhau hay là có địa chỉ nằm rải rác trong bộ nhớ ạ ??

  2. Mạnh Hùng Lê Reply

    Anh ơi, nếu được thoải mái code thì dùng vector hay mảng động tốt hơn ạ?

  3. Study and Entertainment Reply

    vector có nhập được phần tử bất kỳ vào không ạ ? mà khi nhập nó tự động co dãn được a?

  4. anh ơi , em bị lỗi khi tạo hàm xuat_mang_vector (vector<int> arr) {…}
    là : error :variable or field 'xuat_mang_vector ' declared void
    error : 'vector' was not declared in this scope
    anh sửa giúp em , em cảm ơn

Write A Comment