我有一个带有某些值(3、3、6、4、9、6、1、4、6、6、7、3)的 vector ,我想用54替换每个3或用1替换每个6。例如等等。
因此,我需要先遍历 vector ,获取[i]值,搜索并用54替换每个3,但仍保留相关的positions.std::set
vector::swap
是一个好方法吗?我什至不知道该如何开始:(
我不能使用push_back
,因为那样就不能保持正确的值顺序,因为这很重要。
请保持简单;我只是一个初学者:)
最佳答案
这项工作的工具是 std::replace
:
std::vector<int> vec { 3, 3, 6, /* ... */ };
std::replace(vec.begin(), vec.end(), 3, 54); // replaces in-place
See it in action 。