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ử.
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<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]
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.
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.
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 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ử.
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 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 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ử |
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.
#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 Các hàm Vector trong C++
Thêm một phần tử vào cuối vector.
vector<int> a = {1, 2, 3};
a.push_back(4);
Kết quả: 1 2 3 4
Xóa phần tử cuối cùng.
a.pop_back();
Kết quả: 1 2 3
Lấy số lượng phần tử.
cout << a.size();
Kết quả: 3
Lấy phần tử đầu tiên.
cout << a.front();
Kết quả: 1
Lấy phần tử cuối cùng.
cout << a.back();
Kết quả: 3
Kiểm tra vector có rỗng hay không.
if (a.empty())
{
cout << "Vector rong";
}
Xóa toàn bộ phần tử trong vector.
a.clear();
Chèn phần tử vào một vị trí.
vector<int> a = {10, 20, 30};
a.insert(a.begin() + 1, 15);
Kết quả: 10 15 20 30
Xóa phần tử tại một vị trí.
a.erase(a.begin() + 1);
Kết quả: 10 20 30
a.begin() a.end()
begin(): vị trí phần tử đầu tiên.
end(): vị trí ngay sau phần tử cuối cùng.
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> a;
a.push_back(10);
a.push_back(20);
a.push_back(30);
cout << "So phan tu: " << a.size() << endl;
cout << "Phan tu dau: " << a.front() << endl;
cout << "Phan tu cuoi: " << a.back() << endl;
return 0;
}
Vector trong C++ là gì