Thứ Tư, 27 Tháng Mười Một 2024
Trang chủLập trìnhLập trình C/C++Vector trong C++? Tìm hiểu về Vector trong C++, Các hàm xử...

Vector trong C++? Tìm hiểu về Vector trong C++, Các hàm xử lý Vector

Tất tần tật về vector trong C++, cách khai báo, cách sử dụng vector c++ để giải quyết các bài toán trong lập trình, các hàm có sẵn của vector như sortinsert, pop, push. Cùng tìm hiểu trong bài viết này nhé.

DANH SÁCH BÀI VIẾT
Nạp chồng và ghi đè trong lập trình hướng đối tượng(OOP) C++
Tìm hiểu các toán tử thao tác bit trong lập trình C/C++
Vector trong C++? Tìm hiểu về Vector trong C++, Các hàm xử lý Vector
Giải phóng bộ nhớ động trong C/C++ - Hàm free(), delete
Cấp phát bộ trong động C/C++ - malloc, realloc, calloc, new

Vector C++ là gì?

Vector C++ là một lớp, một cấu trúc dữ liệu có trong thư viện của C++ Standard Template Library dùng để lưu các đối tượng khác giống với mảng (Array), vector được sinh ra nhằm khắc phục các mặt hạn chế của mảng. Nếu như mảng chỉ có một kích thước cố định khi khai báo thì vector hoàn toàn có thể thay đổi trong khi chương trình đang hoạt động. Tức là một đối tượng vector có thể linh động về kích thước tương tự như con trỏ.

Kích thước không cố định chính là điểm nổi bật nhất của vector. Tuy nhiên không dừng lại ở đó, đối tượng này còn được trang bị thêm khá nhiều phương thức xử lý thông dụng như sort, insert, delete, leght . . . Chính nhờ tính linh hoạt của nó, đôi khi sẽ hữu ích hơn trong việc giải quyết các bài toán lập trình.

Một số ưu điểm nổi trội hoàn toàn so với cấu trúc mảng có thể kể đến:

  • Không cần phải khai báo kích thước, vector tự động tăng kích thước ô nhớ giúp tiết kiệm tài nguyên
  • Nếu vector đã đầy nó cũng tự động tăng kích thước cho phù hợp.
  • Vetor còn có thể tăng kích thước về cả hai chiều của danh sách.
  • Rất thuật tiện cho việc thiết kế và cài đặt các giải thuật.

Cách sử dụng vetor C++

Vector trong c/c++
Vector trong c/c++

Để sử dụng vector trong C++, chúng ta cần phải khai báo thư viện sau đó khai báo cấu trúc vector cần dùng.

Khai báo thư viện: #include<vector>

Cú pháp khai báo một vector: vector <kiểu dữ liệu> tên biến

Ví dụ khai báo vector:

#include<vector>  // Khai báo thư viện
vector <int> a; //Khai báo một vector kiểu dữ liệu int

hoặc chúng ta có thể gắn ngay giá trị cho vector khi khai báo.

vector<int> a(10);
vector<int> b(10,2);	

khai báo vector 2 chiều, nhiều chiều.

vector<vector <int> > a;

=>>XEM THÊM: Giá thầu CPC và CPM trong Google Adsense là gì

Hàm vector thường sử dụng

Vector bản chất là một class trong C++, vì vậy để sử dụng các hàm vector ta có cú pháp chung sau:

vector_name.function_name(các tham số…);

vector_name: Là tên biến vector.

function_name: Tên hàm

1. Hàm lấy phần tử front(), back()

2 hàm front(), back() lần lượt là 2 hàm lấy phần tử đầu và cuối vector.

Ví dụ:

vector<int> myvector{ 1, 2, 3, 4, 5 }; 
int t = myvector.front();    //lúc này t sẽ là 1

int t2 =  myvector.back();    //lúc này t sẽ là 5

2. Hàm push_back, pop_back

Hàm push_back là hàm chèn 1 phần tử vào cuối vector.

Ví dụ:

vector<int> myvector{ 1, 2, 3, 4, 5 }; 
myvector.push_back(6);    // lúc này vector sẽ là: 1, 2, 3, 4, 5, 6

Hàm pop_back xóa phần tử cuối cùng của vector.

Ví dụ:

vector<int> myvector{ 1, 2, 3, 4, 5 }; 
myvector.pop_back ();    // lúc này vector sẽ là: 1, 2, 3, 4

3. Các hàm tương tác với phần tử

Hàm lấy ra phần tử ở vị trí bất kỳ: vector_name.at(<vị trí>);

Hàm insert giúp chèn một phần tử vào vị trí bất kì trong vector: vector_name.insert(<vị trí>, <giá trị>);

Hàm swap giúp đổi chỗ hai phần tử trong vector: vector_name.swap(<vị trí a> , <vị trí b>);

Hàm clear xóa bỏ toàn bộ các phần tử có trong vector: vector_name.clear();

=>>XEM THÊM: Sắp xếp mảng 1 chiều theo thứ tự giảm dần trong lập trình C/C++

4. Nhóm các hàm chức năng

Hàm size trả về chiều dài của vector: vector_name.size();

Hàm resize giúp cho vector tự động thay đổi kích thước nếu kích thước vượt quá ban đầu. Thu nhỏ nếu kích thước cần chuyển nhỏ hơn.

Hàm capacity trả về dung lượng tổng các ô nhớ của vector: vector_name.capacity();

Hàm shrink_to_fit() có tác dụng tự giảm dung lượng, loại bỏ các ô nhớ dư thừa, co vector lại cho vừa khít với bộ nhớ cần dùng. giúp tiết kiệm dung lượng: shrink_to_fit();

empty() là hàm trả về kiểu boolean, kiểm tra xem vector có trống hay không: vector_name.empty();

Hàm sort giúp sắp xếp vector một cách nhanh nhất theo chiều tăng dần. Cách dùng: vector_name.sort();

5. Các hàm tùy chỉnh vị trí duyệt Iterators

Hàm begin trỏ iterators về vị trí bắt đầu của vector: vector_name.begin();
(giống với việc đặt i = 0 để duyệt từ đầu mảng, bạn đặt i = vector_name.begin() )

Hàm end trỏ về vị trí cuối cùng của vector: vector_name.end();

Hàm rbegin trỏ về vị trí đảo ngược của begin. (trỏ về vị trí cuối). Tương tự ta cũng có hàm rend đảo ngược vị trí kế thúc.

Cảm ơn bạn đã đọc bài viết! Chúc bạn học tốt!

XEM THÊM
Hàm memset trong C/C++ – Sao chép ký tự x tới n ký tự trong một chuỗi
Cách kiểm tra Số hoàn hảo trong C++
Tìm UCLN, BCNN của 3 số, 4 số…nhiều số và của một mảng
Viết Hàm swap trong lập trình C/C++ – Hàm hoán vị giá trị 2 biến
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
0
Giáo sư! có thể ném gạch bên dưới nhé!x