首页 > 解决方案 > 如何在数组末尾添加元素

问题描述

你能帮助我们如何在数组末尾添加一个元素,就像我们输入的一样多次,例如:

2
-1 2 
10 5       -1 2 10 10 10 10 10 

这是我所做的,但它出错了

#include <iostream>
#include <vector>
using namespace std;
 
int main() {
    int n;
    cin >> n;
    vector <int> arr(n);
    for (int i = 0; i < n; i++)
        cin >> arr[i];
    int x, k;
    cin >> x >> k;
    for (int i = 0; i < n+k; i++)
        arr.resize(arr.size()+1, x);
    for (int i = 0; i < arr.size(); i++)
        cout << arr[i] << " ";
    return 0;
}

标签: c++

解决方案


for (int i = 0; i < k; i++) arr.push_back(x);

这会将值x k时间添加到vector.

#include <iostream>
#include <vector>
using namespace std;
 
int main() {
    int n;
    cin >> n;
    vector <int> arr(n);
    for (int i = 0; i < n; i++)
        cin >> arr[i];
    int x, k;
    cin >> x >> k;
    for (int i = 0; i < k; i++) arr.push_back(x);
    for (int i = 0; i < arr.size(); i++)
        cout << arr[i] << " ";
    return 0;
}

https://godbolt.org/z/fjGPPWjaz

或者您可以改用该resize函数(没有循环):

arr.resize(arr.size()+k, x);

https://godbolt.org/z/hbxWGza53


推荐阅读