69,367
社区成员
发帖
与我相关
我的任务
分享
void CompressRLE_(char* input, char* output1_letter,int* output1_times)
{
int i=0, j=0, k = 0;
for (i = 0; i < strlen(input); i++)
{
//直到找到和当前字符不相等的下个字符为止
for (j = i; input[j] == input[i]; j++);
/*存放重复计数*/
output1_times[k++] = j - i;
/*存放重复的字符*/
output1_letter[k++] = input[i];
i = j - 1;
}
}
void CompressRLE_(char* input, char* output1_letter,int* output1_times)
{
int i=0, j=0, k = 0;
for (i = 0; i < strlen(input); i++)
{
//直到找到和当前字符不相等的下个字符为止
for (j = i; input[j] == input[i]; j++)
;
/*存放重复计数*/
output1_times[k] = j - i;
/*存放重复的字符*/
output1_letter[k++] = input[i];
i = j - 1;
}
}
要保持重复的字符和计数是同一个位置,即下标相同。
output1_times[k] = j - i;
/*存放重复的字符*/
output1_letter[k++] = input[i];