ana*_*y99 1 c++ algorithm vector
我有一个包含数据的向量,如:15,27,40,50,15,40
我想对它进行排序并删除相同的值,因此排序后的输出应为:15,27,40,50
我尝试了几种方法:
std::sort(vectProjHori.begin(),vectProjHori.end());
for (std::vector<int>::iterator it=vectProjHori.begin(); it!=vectProjHori.end(); ++it)
{
if(it+1 != it)
{
std::cout << ' ' << *it;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,它无法在向量中删除相同的值.我真的希望有人愿意提供一种有效的方法.
任何帮助将受到高度赞赏.谢谢
您可以使用标准功能执行此操作.
std::sort(vectProjHori.begin(), vectProjHori.end());
vectProjHori.erase(std::unique(vectProjHori.begin(), vectProjHori.end()), vectProjHori.end());
Run Code Online (Sandbox Code Playgroud)