c++ string 去重
时间: 2025-02-12 07:25:22 浏览: 17
C++ 字符串去重方法
在处理字符串时,有时需要移除其中重复出现的字符。下面介绍一种基于 std::set
的简单而有效的方法来实现这一目标。
通过利用集合容器自动消除重复元素的特点,可以轻松完成字符串中字符的唯一化操作。具体做法如下:
使用 std::set 实现字符串去重
#include <iostream>
#include <string>
#include <set>
std::string removeDuplicates(const std::string& input) {
std::set<char> uniqueChars;
std::string result;
for (char c : input) {
if (uniqueChars.find(c) == uniqueChars.end()) { // 如果未找到该字符
uniqueChars.insert(c); // 插入到 set 中
result += c; // 同时加入结果字符串
}
}
return result;
}
int main() {
std::string testString = "programming";
std::cout << "Original String: " << testString << '\n';
std::cout << "After Removing Duplicates: "
<< removeDuplicates(testString) << '\n';
return 0;
}
上述代码展示了如何遍历输入字符串中的每一个字符,并仅当遇到新字符时才将其添加至最终的结果字符串中。由于 std::set
自动维护内部数据结构有序且无重复项,因此非常适合用于此类场景[^1]。
此外,还可以考虑其他更高效的算法或数据结构(如哈希表),这取决于实际应用场景的具体需求和技术栈的选择。
相关推荐


















