首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
STL
2025-12-12
使用STL对整数向量去重排序
使用STL对整数向量去重排序的步骤如下:使用std::sort对向量排序使用std::unique将重复元素移到末尾使用erase方法删除重复元素示例代码:std::vector vec = {3, 1, 2, 2, 4, 3}; std::sort(vec.begin(), vec.end()); auto last = std::unique(vec.begin(), vec.end()); vec.erase(last, vec.end());
2025年-12月-12日
4 阅读
0 评论
STL
2025-12-12
使用 vector 删除特定条件的元素
正确删除 vector 中元素的标准方法是使用 Erase-Remove 惯用法:使用 std::remove_if 算法将需要保留的元素移动到容器前部配合 vector::erase 删除尾部多余元素错误做法是直接使用迭代器循环删除,这会导致迭代器失效:// 错误示例(迭代器失效) for(auto it = vec.begin(); it != vec.end(); ++it) { if(*it % 2 == 0) { vec.erase(it); // 此处 it 失效 } }
2025年-12月-12日
4 阅读
0 评论
STL
2025-12-11
实现一个高效的单词频率统计工具
实现高效单词频率统计的关键步骤:使用std::unordered_map存储单词和频率(O(1)平均访问)用std::istringstream分割字符串遍历时使用const auto&避免拷贝输出前用std::vector和std::sort按频率排序核心代码示例:unordered_map<string, size_t> wordCount;for (const auto& word : words) ++wordCount[word];
2025年-12月-11日
4 阅读
0 评论
STL
2025-12-11
高效统计文本中前K个高频单词
实现步骤:使用unordered_map统计单词频率(O(1)平均插入)将键值对转移到vector中处理自定义比较函数按频率降序排序使用partial_sort优化性能(O(n log k))处理边界条件(空输入/k值过大)
2025年-12月-11日
4 阅读
0 评论
STL
2025-12-8
高效合并两个有序vector
使用std::merge算法是最佳解决方案:确保输入vector已排序(升序)预分配目标vector内存避免多次扩容时间复杂度为O(n+m),空间复杂度O(n+m)示例代码:std::vector<int> merged;merged.reserve(v1.size() + v2.size());std::merge(v1.begin(), v1.end(), v2.begin(), v2.end(), std::back_inserter(merged));
2025年-12月-8日
4 阅读
0 评论
STL
2025-12-8
高效统计文本单词频率并排序输出
实现步骤:使用 unordered_map 存储单词频率(O(1)插入/查询)将 map 元素转移到 vector 中以便排序自定义排序函数:频率降序,相同频率按字典序升序使用 stable_sort 保持等价元素顺序输出结果时注意避免不必要的拷贝关键点:优先选择哈希容器提升性能排序时考虑多条件组合使用移动语义减少拷贝开销
2025年-12月-8日
5 阅读
0 评论
STL