Menu
CoddyTech

Thêm phần tử

Thuộc phần Logic và luồng chương trình trong hành trình C++ của Coddy. Bài học 11 trên 56.

Bây giờ bạn đã biết cách tạo vector, hãy cùng tìm hiểu cách thêm phần tử vào vector sau khi tạo. Phương thức push_back() là công cụ chính giúp bạn mở rộng vector bằng cách thêm phần tử mới vào cuối.

Phương thức push_back() nhận một đối số duy nhất, là giá trị bạn muốn thêm, rồi thêm giá trị đó vào cuối vector:

std::vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);

Trong ví dụ này, chúng ta bắt đầu với một vector rỗng và dùng push_back() để thêm ba số nguyên. Sau các thao tác này, vector của chúng ta chứa các phần tử [10, 20, 30] theo thứ tự đó.

Điểm hay của push_back() là nó tự động xử lý toàn bộ việc quản lý bộ nhớ. Khi bạn thêm phần tử và vector hết chỗ, nó tự động cấp phát thêm bộ nhớ rồi sao chép các phần tử hiện có sang vị trí mới. Nhờ vậy, vector rất tiện lợi khi bạn cần tạo tập hợp dữ liệu mà chưa biết trước kích thước cuối cùng.

challenge icon

Thử thách

Dễ

Tạo một chương trình minh họa cách thêm phần tử vào vector bằng phương thức (method) push_back(). Bạn sẽ bắt đầu với một vector rỗng rồi thêm các số theo một trình tự cụ thể để tạo vector một cách linh hoạt.

Chương trình sẽ nhận các đầu vào sau:

  • Một số nguyên n cho biết cần thêm bao nhiêu số vào vector
  • Sau đó là n số nguyên cần lần lượt thêm vào vector

Chương trình của bạn cần:

  1. Tạo một std::vector<int> rỗng có tên numbers
  2. Dùng vòng lặp để đọc từng số trong n số đầu vào
  3. Với mỗi số, dùng push_back() để thêm số đó vào cuối vector
  4. Sau khi thêm mỗi số, in ra kích thước hiện tại của vector và số vừa được thêm
  5. Cuối cùng, in tất cả phần tử trong vector trên một dòng, cách nhau bằng dấu cách

Dùng chính xác định dạng đầu ra sau:

Added [number], size is now [current size]
Added [number], size is now [current size]
...
Final vector: [num1] [num2] [num3] ...

Dùng phương thức .size() để lấy số phần tử hiện tại trong vector sau mỗi lần thêm. Với đầu ra cuối cùng, dùng toán tử ngoặc vuông [] để truy cập từng phần tử theo chỉ số.

Tự làm thử

#include <iostream>
#include <vector>
using namespace std;

int main() {
    // Đọc số phần tử cần thêm
    int n;
    cin >> n;
    
    // Tạo một vector rỗng
    vector<int> numbers;
    
    // TODO: Viết code của bạn ở đây
    // Đọc n số và thêm vào vector bằng push_back()
    // In ra đầu ra theo yêu cầu sau mỗi lần thêm
    
    // In ra vector cuối cùng
    cout << "Final vector: ";
    // TODO: In ra tất cả phần tử, cách nhau bằng dấu cách
    
    return 0;
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch C++ online