唯一可译码判决准则代码
更新时间:2023-09-20 06:28:01 阅读量: 医药卫生 文档下载
#include
struct strings {
char *string; struct strings *next; };
struct strings Fstr, *Fh, *FP;
//输出当前集合
void outputstr(strings *str) {
do {
cout<
}while(str); cout< } inline int MIN(int a, int b) { return a>b?b:a; } inline int MAX(int a, int b) { return a>b?a:b; } #define length_a (strlen(CP)) #define length_b (strlen(tempPtr)) //判断一个码是否在一个码集合中,在则返回0,不在返回1 int comparing(strings *st_string,char *code) { } while(st_string->next) { } return 1; st_string=st_string->next; if(!strcmp(st_string->string,code)) return 0; //判断两个码字是否一个是另一个的前缀,如果是则生成后缀码 void houzhui(char *CP,char *tempPtr) { if (!strcmp(CP,tempPtr)) { cout<<\集合C和集合F中有相同码字:\ } } if (!strncmp(CP, tempPtr, MIN(length_a,length_b))) { } struct strings *cp_temp; cp_temp=new (struct strings); cp_temp->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); 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<<\唯一可译码的判断!\\n\ struct strings Cstr, *Ch, *CP,*tempPtr; Ch=&Cstr; CP=Ch; Fh=&Fstr; FP=Fh; char c[]=\ Ch->string=new char[strlen(c)]; strcpy(Ch->string, c); Ch->next=NULL; char f[]=\ Fh->string=new char[strlen(f)]; strcpy(Fh->string, f); Fh->next=NULL; //输入待检测码的个数 int Cnum; cout<<\输入待检测码的个数:\cin>>Cnum; cout<<\输入待检测码\ for(int i=0; i char tempstr[10]; cin>>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<<\是唯一可译码码组!\ } Fbegin=Fend; Fend=FP; CP=Ch; while(CP->next) exit(1); { CP=CP->next; } } tempPtr=Fbegin; for(;;) { tempPtr=tempPtr->next; houzhui(CP->string,tempPtr->string); if(tempPtr == Fend) break; } } outputstr(Fh);//输出F集合中全部元素
正在阅读:
唯一可译码判决准则代码09-20
老人与海鸥.第二课时教学设计04-28
保护青蛙从我做起作文400字07-13
安师大文学类考研文学评论与写作02-27
中学2015-2016学年度第二学期开学工作大会讲话稿12-01
一是学习深度还不够.doc07-30
我的小书架作文400字07-02
国家邮政局网站02-08
人教版三年级语文上册教学计划107-23
- 铜川市广告公司名录2018版106家 - 图文
- 大学物理实验 - - 考试模拟试卷及答案
- 热学试题库
- 机械设计制造及自动化专业实习报告范文
- 继续执行的海事规范性文件(73件) - 图文
- 爱心铸辉煌
- 原子吸收试题 - 答案解析
- 贡嘎纪录片观后感精选
- 大学物理实验数据处理方法
- 40米预应力混凝土箱梁施工总结
- 《贫困与饥荒》大学读书报告
- 韩国留学就业前景最好的五大专业简介
- 社会医学复习题有答案1
- 儿童家具的设计理念
- 西城门小学“学宪法讲宪法”活动总结
- 老挝国矿产法
- 金蝶K3基于WebServices外部数据交换接口使用指南
- 国家心理咨询师三级试题及答案(为方便打印整理过的)
- 重庆医科大学研究生发表论文与学位授予的相关规定(2014版)
- 人工智能 经典考试试题与答案