在c ++字符串处理中跳过重复的字符

hip*_*hop 1 c++ string character set

我正在编写一个需要处理字符串(char*)的高性能函数.

这些字符串通常很长但包含重复的字符,一旦处理完字符就没有效果.

我已经实现了一个std :: set来存储已处理的字符,并在处理之前检查字符是否在集合中.

你能想到更有效的方法吗?

谢谢

解:

我去了一个bool阵列.

bool b[256] = {0};
...
if(!b[*ci]){
  b[*ci]=true;
  ...
} 
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

Mar*_*oon 5

只是一个与字符数一样长的数组,并勾选数组中的char.