Vector trong c++

Vector trong C++ là gì

12

1. Vector là gì?

Hãy tưởng tượng vector giống như một chiếc túi thông minh.

Khi cần thêm đồ vào túi, chiếc túi có thể tự mở rộng.

Trong lập trình, vector là một danh sách có thể chứa nhiều dữ liệu và có thể thêm hoặc bớt phần tử.

2. Mảng và vector

Mảng thông thường:

 int a[5]; 

Mảng này có đúng 5 vị trí:

a[0] a[1] a[2] a[3] a[4]
  [ ]   [ ]    [ ]    [ ]    [ ]

Kích thước của mảng thường được xác định ngay từ đầu.

Vector:

 vector<int> a; 

Vector có thể bắt đầu rỗng và thêm dữ liệu dần dần.

Ban đầu: [ ]
Thêm 10: [10]
Thêm 20: [10, 20]
Thêm 30: [10, 20, 30]

3. Khai báo vector

Muốn sử dụng vector, chúng ta cần:

#include <vector>
using namespace std;

Khai báo một vector chứa số nguyên:

vector<int> ds;

Có nghĩa là:

Tạo một danh sách tên là ds, dùng để chứa các số nguyên.

4. Thêm phần tử bằng push_back()

 vector<int> ds;
ds.push_back(5);
ds.push_back(8);
ds.push_back(10);

Kết quả:

 ds = [5, 8, 10] 

push_back() có nghĩa là:

Thêm một phần tử vào phía cuối vector.

5. Lấy phần tử trong vector

 vector<int> ds = {5, 8, 10}; 

Vị trí trong vector bắt đầu từ số 0:

Vị trí Giá trị
ds[0] 5
ds[1] 8
ds[2] 10

Ví dụ:

 cout << ds[0]; 

Kết quả:

 5 

6. Đếm số phần tử bằng size()

 vector<int> ds = {5, 8, 10};  cout << ds.size(); 

Kết quả:

 3 

size() cho biết vector hiện có bao nhiêu phần tử.

7. Duyệt vector bằng vòng lặp for

 vector<int> ds = {5, 8, 10};
for (int i = 0; i < ds.size(); i++)
{
  cout << ds[i] << endl;
}

Kết quả:

 5 8 10 

Giải thích:

 i = 0 → ds[0] → 5 i = 1 → ds[1] → 8 i = 2 → ds[2] → 10 

8. Cách viết ngắn hơn

 for (int x : ds) 
{
  cout << x << endl;
}

Có thể hiểu là:

Lần lượt lấy từng phần tử trong vector ds đưa vào biến x.

 ds = [5, 8, 10]  x = 5 x = 8 x = 10 

9. So sánh Python và C++

Python:

 so3 = []
so3.append(235)

C++:

 vector<int> so3;
so3.push_back(235);

Python C++ Ý nghĩa
list vector Danh sách dữ liệu
append() push_back() Thêm phần tử
len() size() Đếm số phần tử

10. Câu ghi nhớ

Mảng giống như một chiếc hộp có số ngăn cố định.

Vector giống như một chiếc túi thông minh: muốn thêm đồ thì túi có thể tự mở rộng.

Ví dụ hoàn chỉnh

 #include <iostream>
#include <vector>
using namespace std;
int main()
{
  vector<int> ds;
  ds.push_back(5);
  ds.push_back(8);
  ds.push_back(10);
  for (int x : ds)
  {
    cout << x << endl;
  }
  return 0; }

Kết quả

 5 8 10 

Vector trong C++ là gì