當前位置:編程學習大全網 - 網站源碼 - c++怎麽壓縮字符串?

c++怎麽壓縮字符串?

#include<stdio.h>

#include<cstring>

#define maxsize 256

typedef struct Jishu{

char zimu;

int count;

}Jishu;

/*int strlen(char a[maxsize])

{

int i=0;

while(a[i]!='\0')

{

++i;

}

return i;

}*/

int main(void)

{

int m=1,j=0;

char a[maxsize];

gets(a);

Jishu jishu[255];

jishu[0].zimu=a[0];

jishu[0].count=1;

for(int i=1;i<(int)strlen(a);++i)

{

if(a[i]==jishu[j].zimu)

jishu[j].count++;

else

{

++j;

jishu[j].zimu=0;//結構體定義的時候不會分配空間,所以必須在使用前賦值。

jishu[j].count=0;

jishu[j].zimu=a[i];

jishu[j].count++;

m++;

}

}

for(int k=0;k<m;++k)

{

if(jishu[k].count==1)

printf("%c",jishu[k].zimu);

else

printf("%d%c",jishu[k].count,jishu[k].zimu);

}

putchar('\n');

return 0;

}

數據結構上可以采用動態分配的鏈表。

  • 上一篇:用Thinkphp,域名授權是哪個文件
  • 下一篇:Html手機跳轉代碼
  • copyright 2024編程學習大全網