想要在C ++中从另一个向量中删除一个向量

时间:2016-10-04 13:29:11

标签: c++ vector

我正在尝试从另一个矢量列表中删除矢量列表,但是一旦我到达程序的特定部分,程序就会停止响应。这是程序:

#include<iostream>
#include<vector>
#include<iterator>
int main(){
    using namespace std;
    vector<int> a(5);
    int ints[3] = {2,3,5};
    vector<int> b(ints,ints+3);
    for(int i=0; i<5; i++){
        a[i] = i+1;
    }
    vector<int> :: iterator pra;
    vector<int> :: iterator prb;
    cout << "initial list:";
    for(pra = a.begin(); pra!=a.end(); pra++){
        cout << *pra << " ";
    }
    cout << endl;
    for(pra = a.begin(); pra!=a.end(); pra++){
        for(prb = b.begin(); prb!=b.end(); prb++){
            if(*pra == *prb){
                cout << *pra << " ";
                a.erase(pra);
                b.erase(prb);
                break;
            }
        }
    }

    cout << " Final List:"; 
    for(pra = a.begin(); pra!=a.end(); pra++ ){
        cout << *pra << " ";
    }

}

0 个答案:

没有答案