Trang chủCông nghệTìm hiểu về vector và hàm push_back trong C++

Tìm hiểu về vector và hàm push_back trong C++

Share post:

Push_back là một hàm của vector trong C++. Vector là gì? Hàm push_back được sử dụng như thế nào? Trong bài viết này sẽ giới thiệu đến các bạn sơ lược về vector cũng như hàm push_back trong C++. Nếu bạn đang quan tâm đến lĩnh vực này thì nhớ theo dõi bài viết dưới đây nhé.

Tìm hiểu về vector trong C++

Vector trong C++ là gì?

Giống như dynamic array (mảng động) nhưng vector trong C++ có khả năng tự động thay đổi kích thước khi một phần tử được chèn hoặc bị xóa đi tùy thuộc vào nhu cầu của tác vụ thực thi, với việc lưu trữ sẽ được vùng chứa tự động xử lý. Các phần tử vector được đặt trong contiguous storage (bộ nhớ liền kề) để chúng có thể được truy cập và duyệt thông qua cách sử dụng iterator.

push_back trong c++

Ưu điểm của vector trong C++

Vector trong C++ có một số ưu điểm nổi trội như sau:

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

Vector cung cấp nhiều chức năng hữu ích khác nhau:

  • Modifiers
  • Iterators
  • Capacity
  • Element access

Tìm hiểu về hàm push_back trong C++

push_back trong C++ là hàm được sử dụng để thêm một phần tử mới vào cuối vectơ , sau phần tử cuối cùng hiện tại của nó. Điều này có hiệu quả làm tăng kích thước vùng chứa lên một, tạo ra tự động phân bổ lại không gian lưu trữ được cấp phát nếu kích thước vectơ mới vượt quá dung lượng vectơ hiện tại.

push_back trong c++

Hàm: vectorname.push_back (value) 

Các thông số: Giá trị được thêm phía sau được truyền dưới dạng tham số

Kết quả : Thêm giá trị được đề cập dưới dạng tham số vào mặt sau của vector đặt tên như vectorname

Ví dụ 1

Đầu vào: myvector = {1, 2, 3, 4};

        myvector.push_back (5);

Đầu ra: 1, 2, 3, 4, 5

Ví dụ 2:

Đầu vào: myvector = {5, 4, 3, 2};

        myvector.push_back (1);

Đầu ra: 5, 4, 3, 2, 1

Một số hàm khác của vector trong C++ 

Modifiers

  • assign(): là hàm gán một giá trị mới cho các phần tử vector bằng cách thay thế giá trị cũ.

vectorname.assign(int size, int value);

  • pop_back() là hàm trái ngược với hàm push_back trong C++. Hàm này được sử dụng để xóa đi phần tử ở cuối cùng một vector.

vectorname.pop_back();

  • insert() là hàm dùng để chèn các phần tử mới vào trước phần tử trước vị trí được trỏ bởi vòng lặp.

vectorname.insert(position, value);

  • erase(): Hàm được sử dụng để xóa các phần tử tùy theo vị trí của vùng chứa

vectorname.erase(position);

vectorname.erase(start-position, end-position);

  • emplace(): là hàm mở rộng vùng chứa bằng cách chèn thêm các phần tử mới vào

vectorname.emplace(vectorname.position, element);

  • emplace_back() là hàm được sử dụng để chèn thêm một phần tử mới vào vùng chứa vector, phần tử mới này sẽ được thêm vào cuối vector

vectorname.emplace_back(value);

  • swap() là hàm được sử dụng để hoán đổi nội dung của một vector này với một vector khác mà 2 vector này đều cùng kiểu nhưng kích thước có thể khác nhau.

vectorname-1.swap(vectorname-2);

  • clear(): Hàm này được sử dụng để xóa tất cả các phần tử trong vùng chứa vector.

vectorname.clear();

Iterators

  • begin() là hàm đặt iterator đến phần tử ở đầu tiên trong vector.

vectorname.begin();

  • end() là hàm đặt iterator đến sau phần tử ở cuối cùng trong vector.

vectorname.end();

push_back trong c++

  • rbegin() là hàm đặt reverse iterator (trình lặp đảo) đến phần tử ở cuối cùng trong vector (reverse begin). Nó di chuyển từ phần tử cuối cùng đi đến phần tử đầu tiên.

vectorname.rbegin();

  • rend(): đặt reverse iterator (trình lặp đảo) đến phần tử ở đầu tiên trong vector (reverse end).

vectorname.rend();

  • cbegin(): đặt constant iterator (trình vòng lặp) đến phần tử ở đầu tiên trong vector.

vectorname.cbegin();

  • cend(): đặt constant iterator (trình vòng lặp) đến phần tử ở cuối cùng trong vector.

vectorname.cend();

  • crbegin(): đặt constant reverse iterator (trình lặp đảo liên tục) đến phần tử ở cuối cùng trong vector (reverse begin). Nó di chuyển từ phần tử ở cuối cùng đi đến phần tử ở đầu tiên.

vectorname.cbregin();

  • crend(): đặt constant reverse iterator (trình lặp đảo liên tục) đến phần tử ở đầu tiên trong vector (reverse end).

vectorname.crend();

Capacity

  • size(): hàm này sẽ cho biết số lượng phần tử đang được sử dụng trong vector.

ten-vector.size();

  • max_size(): hàm này sẽ cho biết số phần tử tối đa mà vector có thể chứa.

ten-vector.max_size();

  • capacity(): hàm này sẽ cho biết số phần tử được cấp phát cho vector nằm trong bộ nhớ.

ten-vector.capacity();

  • resize(n): Hàm này dùng để thay đổi kích thước vùng chứa để nó chứa đủ n phần tử. Nếu kích thước hiện tại của vector lớn hơn n thì các phần tử ở phía sau sẽ bị xóa khỏi vector. Nếu kích thước hiện tại của vector nhỏ hơn n thì các phần tử bổ sung sẽ được chèn vào ở phía sau vector.

ten-vector.resize(int n, int value);

  • empty(): hàm này cho biết liệu vùng chứa có trống hay không, nếu trống thì sẽ là True, nếu có phần tử thì sẽ là False

ten-vector.empty();

  • shrink_to_fit() là hàm sử dụng để giảm dung lượng của vùng chứa để phù hợp với kích thước của nó và hủy bỏ tất cả các phần tử vượt quá dung lượng

ten-vector.shrink_to_fit();

  • reserve(n) là hàm cấp cho vector số dung lượng đủ để chứa n phần tử

ten-vector.reserve(n);

Element access

  • at(g): là hàm cho biết một tham chiếu đến phần tử ở vị trí ‘g’ trong vector.

ten-vector.at(position);

  • data(): Hàm này trả về một con trỏ trực tiếp đến (memory array) bộ nhớ mảng được vector sử dụng để lưu trữ các phần tử thuộc sở hữu của nó.

ten-vector.data();

  • front(): Hàm này dùng để lấy ra phần tử ở đầu tiên của vector.

ten-vector.front();

back(): Hàm này dùng để lấy ra phần tử ở cuối cùng của vector.

ten-vector.back();

Như vậy, trên đây, bài viết đã cung cấp một số thông tin về vector, hàm push_back trong C++ và một số hàm khác. Mong rằng những thông tin đã cung cấp ở bài viết sẽ có ích với bạn.

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

BÀI VIẾT LIÊN QUAN

6 lợi ích khi làm việc với phần mềm Microsoft 365

Khi nhắc đến những giải pháp ứng dụng văn phòng hay những công cụ hỗ trợ học tập...

Lỗi the program can’t start because msvcr100.dll is missing from your computer

Một trong những vấn đề phổ biến thường gặp đối với máy tính hiện nay chính là: lỗi...

Hướng dẫn cách lấy lại file word bị save đè nhanh chóng, đơn giản

Ứng dụng Word đang ngày càng chứng minh vị thế của mình đối với dân văn phòng hiện...

Sơ đồ lớp (Class Diagram) và cách xây dựng bản vẽ Class

Trong thiết kế phần mềm, tạo ra một sơ đồ lớp hợp lý sẽ góp phần quan trọng...