vector 的 erase( ) 只能删除迭代器,所以要想删某种值的元素,需要这样: 假设有一个 vector 叫 vt ,则 vt.erase( remove( vt.begin() , vt.end() , k ) , vt.end() ) 就可以删掉值为 k 的元素。 根据remove 的行为来看,调用它的时间应该是线性的。