如何替换 C 中向量中的特定值?

新手上路,请多包涵

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

所以我需要先遍历向量,得到 [i] 值,搜索并用 54 替换每个 3,但仍然保持相关 positions.std::setvector::swap 好方法吗?我什至不知道如何开始:( 我不能使用 push_back 因为这不会保持正确的值顺序,因为这很重要。

请保持简单;我只是一个初学者:)

原文由 bob blob 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 404
1 个回答

这项工作的工具是 std::replace

 std::vector<int> vec { 3, 3, 6, /* ... */ };
std::replace(vec.begin(), vec.end(), 3, 54); // replaces in-place

看到它在行动

原文由 Jon 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题