我在寫一個需要處理字符串(char *)的高性能函數。在C++字符串處理中跳過字符重複
這些字符串通常很長,但包含重複字符,一旦字符處理完畢,字符就不起作用。
我已經實現了一個std :: set來存儲處理後的字符,並在處理之前檢查字符是否在set中。
有沒有更有效的方法可以想到?
感謝
SOLUTION:
我去一個布爾數組。
bool b[256] = {0};
...
if(!b[*ci]){
b[*ci]=true;
...
}
感謝您的幫助!
ya我認爲這一個是theta(1)和hipyhop的方法是theta(lg(n)) – atoMerz 2011-05-06 13:23:34