




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include <iostream.h>#include <stdlib.h>#include <string.h>struct stringschar *string; struct strings *next;struct strings Fstr, *Fh, *FP;/输出当前集合void outputstr(strings *str)docout<<str->string<<endl;str = str->next;while(str);cout<<endl;inline int MIN(int a,
2、 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,不在返回1int comparing(strings *st_string,char *code)while(st_string->next)st_string=st_string->next;if(!strcmp(st_string->string,code)re
3、turn 0;return 1;/判断两个码字是否一个是另一个的前缀,如果是则生成后缀码void houzhui(char *CP,char *tempPtr)if (!strcmp(CP,tempPtr)cout<<"集合C和集合F中有相同码字:"<<endl<<CP<<endl<<"不是唯一可译码码组!"<<endl;exit(1);if (!strncmp(CP, tempPtr, MIN(length_a,length_b)struct strings *cp_temp;cp
4、_temp=new (struct strings);cp_temp->next=NULL;cp_temp->string=new charabs(length_a-length_b)+1; char *longstr;longstr=(length_a>length_b ? CP : tempPtr);/将长度长的码赋给longstr/取出后缀for (int k=MIN(length_a,length_b); k<MAX(length_a,length_b); k+)cp_temp->stringk - MIN(length_a,length_b)=longs
5、trk;cp_temp->stringabs(length_a-length_b)=NULL;/判断新生成的后缀码是否已在集合F里,不在则加入F集合if(comparing(Fh,cp_temp->string)FP->next=cp_temp;FP=FP->next;void main()/功能提示和程序初始化准备cout<<"tt唯一可译码的判断!n"<<endl;struct strings Cstr,*Ch, *CP,*tempPtr; Ch=&Cstr;CP=Ch; Fh=&Fstr;FP=Fh;ch
6、ar c="C :" Ch->string=new charstrlen(c); strcpy(Ch->string, c); Ch->next=NULL; char f="F :" Fh->string=new charstrlen(f); strcpy(Fh->string, f); Fh->next=NULL;/输入待检测码的个数int Cnum;cout<<"输入待检测码的个数:"cin>>Cnum;cout<<"输入待检测码"<
7、<endl;for(int i=0; i<Cnum; i+) cout<<i+1<<" :"char tempstr10;cin>>tempstr; CP->next=new (struct strings);CP=CP->next;CP->string=new charstrlen(tempstr) ;strcpy(CP->string, tempstr);CP->next = NULL; outputstr(Ch); CP=Ch; while(CP->next->next) CP=
8、CP->next;tempPtr=CP;dotempPtr=tempPtr->next;houzhui(CP->string,tempPtr->string);while(tempPtr->next); outputstr(Fh);struct strings *Fbegin,*Fend; Fend=Fh; while(1) if(Fend = FP)cout<<"是唯一可译码码组!"<<endl;exit(1);Fbegin=Fend;Fend=FP;CP=Ch;while(CP->next) CP=CP->next;tempPtr=Fbegin;for(;)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宝鸡文理学院《经济法学》2024-2025学年第一学期期末试卷
- 陕西中医药大学《prote软件设计》2024-2025学年第一学期期末试卷
- 2025版金融借款合同签订:十项利率与还款风险提示
- 二零二五年度高端私家车短期租赁合同协议书
- 二零二五年度医疗健康项目招投标及医疗服务承包合同归档标准
- 2025版离婚协议书:婚姻关系解除与财产清算合同
- 二零二五年度第四人民医院医疗废物运输合同
- 2025版绿色节能水电使用合同协议书范本
- 2025版高速公路护栏加固与安装合同
- 二零二五年度购买商住两用物业合同
- 医院安保课件
- 文印员考试题库及答案
- 2025年涂料行业研究报告及未来发展趋势预测
- 2025河北唐山某国有企业单位招聘劳务派遣工作人员44人笔试参考题库附带答案详解(10套)
- 留疆战士考试题库及答案
- 班主任与家长沟通课件
- 赏识你的学生
- 哲学导论(完整版)
- 合成孔径雷达
- 北师大版数学四年级下册全册教案设计
- 汉语拼音发音表(适合初学者和老年人)
评论
0/150
提交评论