【问题标题】:How can i erase element of VECTOR LIST in c++?如何在 C++ 中擦除 VECTOR LIST 的元素?
【发布时间】:2019-09-09 00:03:18
【问题描述】:

我需要在我的代码中删除位置“k”的元素,假设我在 K 中得到了“3”,所以我想删除向量列表中位置 3 的成员。解决办法是什么? 提前致谢!



using namespace std ;

int main() 
{ 
    vector<double> v1;
    vector <double>v2;
    double a ;
    for (int i=0;i<6;i++)
    {
        cout<<"Enter values :";
        cin>>a;

        v1.push_back(a);
    }
    cout<<endl;

    for (int i=0;i<6;i++)
    {
        for (int k=0;k<6;k++)
        {

                if (v1[i]==v1[k] && i!=k && k>i)
                {
                    cout<<"FOUND A REPEATING MEMBER IN VECTOR :"<<endl;
                    cout<<"repeating position: "<<k<<endl;
                    cout<<v1[k]<<endl;  
                    cout<<"ERASING MEMBER AT POSITION "<<k<<endl;
                    v1.erase(v1[k],v1.end());  //ERROR HERE!
                    cout<<"DONE"<<endl;
                }
        }
    }
}

【问题讨论】:

  • v1.erase(v1.begin() + k);

标签: c++11 arraylist vector


【解决方案1】:

https://en.cppreference.com/w/cpp/container/vector/erase

iterator erase( iterator pos );

从容器中删除指定的元素。 1) 删除 位置元素。

所以,假设您确定 k 是有效输入,然后执行:

 v1.erase(v1.begin() + k);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 2011-07-13
    • 2011-09-30
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多