我有一个带有某些值(3、3、6、4、9、6、1、4、6、6、7、3)的 vector ,我想用54替换每个3或用1替换每个6。例如等等。

因此,我需要先遍历 vector ,获取[i]值,搜索并用54替换每个3,但仍保留相关的positions.std::setvector::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

09-10 01:27
查看更多