Vector là gì?

Vậy hãy cùng xem vector là gì? nó có những ưu điểm gì nhé? Giống như là mảng (array), vector trong C++ là một đối tượng dùng để chứa các đối tượng khác, và các đối tượng được chứa này cũng được lưu trữ một cách liên tiếp trong vector.

Tuy nhiên, nếu như số lượng phần tử (size) của một mảng là cố định, thì ở vector, nó hoàn toàn có thể thay đổi trong suốt quá trình làm việc của chương trình

So với mảng, cách dùng của vector thì linh hoạt hơn nhiều, và đây là 1 số điểm nổi trội của vector so với mảng array :

  • Bạn không cần phải khai báo kích thước của mảng ví dụ int A[100]..., vector có thể tự động nâng kíck thước lên.
  • Nếu bạn thêm 1 phần tử vào vector đã đầy rồi, thì vector sẽ tự động tăng kíck thước của nó lên để dành chỗ cho giá trị mới này.- Vector còn có thể cho bạn biết số lượng các phần tử mà bạn đang lưu trong nó.
  • Dùng số phần tử âm vẫn được trong vector ví dụ A-10], A[-3], rất tiện trong việc cài đặt các giải thuật khác.

Cách dùng vector trong C++

Để có thể dùng vector trong C++ thì chúng ta phải khai báo header vector và thư viện std

#include<vector>
    using namespace std;

Và để khai báo một vector ta dùng cú pháp:

vector<int> A ;

Câu lệnh trên định nghĩa 1 vector có kiểu int. Chú ý kiểu của vector được để trong 2 cái ngoặc nhọn.

Vì kíck thước của vector có thể nâng lên, cho nên không cần khai báo cho nó có bao nhiêu phần tử cũng được, hoặc nếu thích khai báo thì bạn cũng có thể khai báo một trong những cách như sau :

vector<int> A(10);
vector<int> A(10, 2);

Đồng thời ta cũng có thể khởi tạo cho 1 vector bằng giá trị của 1 vector khác, ví dụ :

vector<int> A(10,2);
         vector<int> B(A);  

Với dòng lệnh trên thì vector B sẽ là bản sao của vector A.

Tiếp đến chúng ta hãy cùng nhau làm quen về một số hàm hay được sử dụng trong vector nhé

Để thêm một phần tử vào vị trí sau cùng của vector:

name_of_vector.push_back(name_of_element);

Để bỏ đi phần tử cuối cùng của vector:

name_of_vector.pop_back();

Để bỏ đi tất cả các phần tử của vector:

name_of_vector.clear();

Để lấy ra phần tử đầu tiên của vector:

name_of_vector.front();

Để lấy ra phần tử cuối cùng của vector:

name_of_vector.back();

Để lấy ra phần tử vị trí thứ n của vector (đếm từ 0):

name_of_vector.at(n);

Để biết số lượng phần tử của vector:

name_of_vector.size();

Để biết vector có phần tử hay không:

name_of_vector.empty();

Để duyệt vector bằng iterator:

vector<integer>::iterator iter_name; // Khai báo con trỏ để duyệt
for (iter_name = name_of_vector.begin(); iter_name != name_of_vector.end(); iter_name++) {
cout << *iter_name << endl;
}

Chú ý, sau khi bạn dùng áp dụng toán tử ++ vào biến iterator, nó sẽ chỉ đến phần tử tiếp theo của vector. Còn toán tử * (value of)cho biết giá trị của phần tử mà con trỏ iterator đang trỏ tới.

Viết câu trả lời

Drop Images

0 Bình luận