字符串的压缩算法

    这里的压缩不是指字符串数据的霍夫曼算法的压缩,而是根据字符的个数提取系数,例如:aaabbccdddd-->3a2b2c4d

#include 
#include 

int main() {
    char str[] = "aaabbcccddjjjj";
    char buff[50] = {0};
    int i = 0, cnt = 0;
    while (*(str + i)) {
        if (*(str + i) == *(str + i +1)) {
            cnt++;
            i++;
        } else {
            sprintf(buff + strlen(buff), "%d%c", cnt, *(str+i));
            cnt = 1;
            i++;
        }
    }
    printf("%s\n", buff);
    return 0;
}



你可能感兴趣的:(算法)