• 大小: 3KB
    文件类型: .cpp
    金币: 2
    下载: 1 次
    发布日期: 2021-05-16
  • 语言: C/C++
  • 标签: C语言  

资源简介

唯一可译码的辨别 C语言实现,因为用的动态分配,所以编码的长度基本可以无限长

资源截图

代码片段和文件信息

#include
#include
#include
void hou(char *achar *bchar *&c)
{
int i=0j=0;
for(i=0;;i++)
{
if((a[i]==b[i])&&(a[i]!=‘\0‘)&&(b[i]!=‘\0‘))
continue;
else if(a[i]==‘\0‘)
{
for(j=i;b[j]!=‘\0‘;j++)
c[j-i]=b[j];
c[j-i]=‘\0‘;
break;
 } 
 else if(b[i]==‘\0‘)
 {
for(j=i;a[j]!=‘\0‘;j++)
c[j-i]=a[j];
c[j-i]=‘\0‘;
break;
 } 
 else
 {
  c[j]=‘\0‘;
  break;
 }
}
}
void paixu(char **&D)
{
int i=0j=0;char **C;
for(i=0;D[i][0]!=‘\0‘;i++)
for(j=i+1;D[j][0]!=‘\0‘;j++)
{
if(strcmp(D[i]D[j])==0&&D[i][0]!=‘\n‘)
D[j][0]=‘\n‘;
}
for(i=0j=0;D[i][0]!=‘\0‘;i++)
if(D[i][0]!=‘\n‘)
j++;
C=(char **)malloc((j+1)*sizeof(char *));
for(i=0j=0;D[i][0]!=‘\0‘;i++)
{
if(D[i][0]==‘\n‘)
continue;
C[j]=D[i];
j++;
}
C[j]=(char*)malloc(1*sizeof(char));
C[j][0]=‘\0‘;
D=C;
}
int bijiao(char**Schar **D)
{
int ij;
for(i=0;S[i][0]!=‘\0‘;i++)
for(j=0;D[j][0]!=‘\0‘;j++)
if(strcmp(S[i]D[j])==0)
return 1;
return 0; 
}
void houzhui(char **Schar **&Dchar **&Gint t)
{
int i=0j=0temp=0m=0; char *C;
C=(char*)malloc(t*sizeof(char));
G=(char**)malloc(t*sizeof(char*));
for(i=0;S[i][0]!=‘\0‘;i++)
for(j=0;D[j][0]!=‘\0‘;j++)
{
hou(S[i]D[j]C);
if(C[0]!=‘\0‘)
{
G[temp]=(char*)malloc(strlen(C)*sizeof(char));
for(m=0;C[m]!=‘\0‘;m++)
G[temp][m]=C[m];
G[temp][m]=C[m];
temp++;
}
}
G[

评论

共有 条评论