c++ - 如何在 C++ 中替换 vector 中的特定值?

标签 c++ vector replace swap

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

所以我需要先遍历 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 .

关于c++ - 如何在 C++ 中替换 vector 中的特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9904976/

相关文章:

C++ - 使用 atoi 时出错

带有伴随对象的 Scala 类型别名

c++ - 根据重复次数对输入文本中的单词进行排序?

android - 在 Kotlin 中使用 Replace 函数

C++:如何处理从 std:exception 派生的异常,具体取决于它们的类型?

c++ - 上下文敏感性与歧义

c++ - vector::clear:内存问题

ios - 编辑相同对象的 NSMutableArray

mysql - 如何在MySQL表中使用迁移查询来替换记录?

c++ - 如何读取包含 Unicode 内容的文件