c++编写字符串压缩函数
时间: 2024-04-19 17:19:08 浏览: 94
C++中可以使用STL库中的string类型来实现字符串压缩函数。下面是一个简单的实现方法:
1. 遍历字符串,统计每个字符出现的次数,并将其存储在一个map中。
2. 遍历map,将每个字符和其出现次数按照一定格式拼接成一个压缩后的字符串。
3. 返回压缩后的字符串。
代码示例:
```
#include <iostream>
#include <string>
#include <map>
using namespace std;
string compressString(string str) {
map<char, int> charCount;
for (char c : str) {
charCount[c]++;
}
string compressedStr = "";
for (auto it = charCount.begin(); it != charCount.end(); it++) {
compressedStr += it->first;
compressedStr += to_string(it->second);
}
return compressedStr;
}
int main() {
string str = "aaabbbccc";
string compressedStr = compressString(str);
cout << "原字符串:" << str << endl;
cout << "压缩后的字符串:" << compressedStr << endl;
return 0;
}
```
输出结果:
```
原字符串:aaabbbccc
压缩后的字符串:a3b3c3
```
阅读全文