为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

唯一可译码的判断

2017-12-13 7页 doc 46KB 47阅读

用户头像

is_496339

暂无简介

举报
唯一可译码的判断唯一可译码的判断 #include #include #include struct strings { char *string; struct strings *next; }; struct strings Fstr, *Fh, *FP; //输出当前集合 void outputstr(strings *str) { do { coutstringnext; }while(str); coutb?b:a; } inline int MAX(int a, int b) { return a...
唯一可译码的判断
唯一可译码的判断 #include #include #include struct strings { char *string; struct strings *next; }; struct strings Fstr, *Fh, *FP; //输出当前集合 void outputstr(strings *str) { do { cout<string<next; }while(str); cout<b?b:a; } inline int MAX(int a, int b) { return a>b?a:b; } #define length_a (strlen(CP)) #define length_b (strlen(temr)) //判断一个码是否在一个码集合中,在则返回0,不在返回1 int comparing(strings *st_string,char *code) { while(st_string->next) { st_string=st_string->next; if(!strcmp(st_string->string,code)) return 0; } return 1; } //判断两个码字是否一个是另一个的前缀,如果是则生成后缀码 void houzhui(char *CP,char *tempPtr) { if (!strcmp(CP,tempPtr)) { cout<<"集合C和集合F中有相同码字:"<next=NULL; cp_temp->string=new char[abs(length_a-length_b)+1]; char *longstr; longstr=(length_a>length_b ? CP : tempPtr);//将长度长的码赋给longstr //取出后缀 for (int k=MIN(length_a,length_b); kstring[k - MIN(length_a,length_b)]=longstr[k]; cp_temp->string[abs(length_a-length_b)]=NULL; //判断新生成的后缀码是否已在集合F里,不在则加入F集合 if(comparing(Fh,cp_temp->string)) { FP->next=cp_temp; FP=FP->next; } } } void main() { //功能提示和程序初始化准备 cout<<"\t\t唯一可译码的判断!\n"<string=new char[strlen(c)]; strcpy(Ch->string, c); Ch->next=NULL; char f[]="F :"; Fh->string=new char[strlen(f)]; strcpy(Fh->string, f); Fh->next=NULL; //输入待检测码的个数 int Cnum; cout<<"输入待检测码的个数:"; cin>>Cnum; cout<<"输入待检测码"<>tempstr; CP->next=new (struct strings); CP=CP->next; CP->string=new char[strlen(tempstr)] ; strcpy(CP->string, tempstr); CP->next = NULL; } outputstr(Ch); CP=Ch; while(CP->next->next) { CP=CP->next; tempPtr=CP; do { tempPtr=tempPtr->next; houzhui(CP->string,tempPtr->string); }while(tempPtr->next); } outputstr(Fh); struct strings *Fbegin,*Fend; Fend=Fh; while(1) { if(Fend == FP) { cout<<"是唯一可译码码组!"<next) { CP=CP->next; tempPtr=Fbegin; for(;;) { tempPtr=tempPtr->next; houzhui(CP->string,tempPtr->string); if(tempPtr == Fend) break; } } outputstr(Fh);//输出F集合中全部元素 } } 3.2.1 分析结果
/
本文档为【唯一可译码的判断】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索