擦除最后一个元素向量(尽可能快)

时间:2016-02-04 16:04:22

标签: c++ stl pop

函数不会删除我的排序向量中的最后一个元素:

7 4 5 6 8 4 5 7 4 3 2

我的代码:

sort(v.begin(), v.begin() + (N + 1));
v.pop_back();

for(i = 1; i <= N; i++)
  cout << v[i] << " ";

我收录了所有图书馆...... 预期输出7 4 5 6 8 4 5 7 4 3

1 个答案:

答案 0 :(得分:7)

for(i=1; i<=N; i++)
    cout<<v[i]<<" ";

这会忽略第一个元素并超过结束。你想要:

for(i=0; i<v.size(); i++)
    cout<<v[i]<<" ";