ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:19.90KB ,
资源ID:19118335      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19118335.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(西南大学数据结构课程设计代码Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

西南大学数据结构课程设计代码Word格式文档下载.docx

1、=0;p+) /统计各种字符的个数 if(*pA&*p*s for(i=1,j=0; if(tempi!=0) j+; /j保存字符的个数 strj=i+64; /送对应的字母到数组str中 cntj=tempi; /存入对应字母的权值到数组cnt中%c,权值=%dn,strj,cntj); strj=i+47; strj=i+96; return j;void ChuffmanTree(HuffmanTree HT,HuffmanCode HC,int cnt,char str) /构造哈夫曼树 int i,s1,s2;=2*num-1; /初始化HT HTi.lchild=0; HTi.r

2、child=0; HTi.parent=0; HTi.weight=0;=num; /输入num个叶节点的权值 HTi.weight=cnti; for(i=num+1; /在HT1.i-1中选择parent为0且权值最小的两个根节点 /其序号分别为s1和s2,并依次生成新节点 select(HT,i-1,s1,s2); HTs1.parent=i; HTs2.parent=i; HTi.lchild=s1; HTi.rchild=s2; HTi.weight=HTs1.weight+HTs2.weight; /输入字符集中的字符 HCi.ch=stri; printf(nn while(i0

3、) /直至上溯到HTc是树根为止 /若Tc是Tp的左孩子,则生成0,否则生成代码1 cd-start=(HTp.lchild=c)?: c=p; strcpy(HCi.bits,&cdstart); HCi.len=num-start;%c: %sn,HCi.ch,HCi.bits);void coding(HuffmanCode HC,char *str) /对str所代表的字符串进行编码,并写入文件 FILE *fp; fp=fopen(codefile.txt,wnn输入的字符文件编码为: while(*str) if(HCi.ch=*str) for(j=0;j fputc(HCi.b

4、itsj,fp);,HCi.bitsj); break; str+;fclose(fp);char * decode(HuffmanCode HC) /代码文件codefile.txt的译码 char str254; /假设原文本文件不超过254个字符 static char cdn+1; int i,j,k=0,cjs;r while(!feof(fp) cjs=0; for(i=0;i cdi= cdi+1= cdi=fgetc(fp); for(j=1;jj+) if(strcmp(HCj.bits,cd)=0) strk=HCj.ch; k+; cjs=1; strk= p=str;

5、return p;void main() char st254,*s,str27; int i; int cn27; HuffmanTree HT; HuffmanCode HC;输入需要编码的字符串(假设均为大写字母或者均为数字): gets(st); /将字符串存入到st里面sti! /if(sti / printf(请保证输入的字符都是大写字母! /exit(0); / else num=jsq(st,cn,str); /统计字符的种类以及各字符出现的频率 /ChuffmanTree(HT,HC,cn,str); /建立哈夫曼树nn字符对应的哈夫曼编码为: HuffmanEncoding

6、(HT,HC); coding(HC,st); /建立电文哈弗曼编码文件 s=decode(HC); /读编码文件译码nn译码后的字符串:%snn /输出译码后的字符串Dijkstra算法应用交通咨询系统#include stdafx.h#include string.h#define MVNum 50 #define Dij_MAXN 33 #define MAX_VERTEX_NUM 31 #define MAX_STRING_NUM 10 #define MAX_TRAFFIC_NUM 10typedef struct TrafficNode char nameMAX_STRING_NU

7、M; int Time;/ int EndCity /火车到达城市的编号 int Cost;/票价 TrafficNodeDat;typedef struct VNode CityType city; /城市编号 int TrainNum; /标记下面Train数组里元素个数 TrafficNodeDat TrainMAX_TRAFFIC_NUM; /数组成员为结构体,记录了到达城市、起止时间、票价和班次 VNodeDat; /班次 int EndCity; /火车到达城市的编号 /票价 int FlightNum; /标记下面Train数组和Flight数组里元素个数 TrafficNode

8、Dat FlightMAX_TRAFFIC_NUM;int main()switch(Command) case 0: return 0; case 1: Administrators();/管理员操作界面函数 break; case 2: User();/用户操作界面函数 default: cout0&(min0|sijmin) pre=i;pos=j;/j为起始站中花费最小的到达站的城市编号 min=sij; PreCitypos=pre; Dijkstra_Output(s,PreCity,p_end,TravelType);int CalcMinCost(int StartCity,i

9、nt EndCity,int TravelType) /查询最小耗费路线 int s3030; int i,j,min,end,flag1,flag2; flag1=0;flag2=0; for(j=0; sij=-1;/设空路径 if(TravelType=0)/判断初始城市和终点城市是否在火车交通路线中 for(i=0; if(AdjListi.Trainj.EndCity=StartCity) flag1=1; if(AdjListi.Trainj.EndCity=EndCity) flag2=1; else if(TravelType=1)/判断初始和终点城市是否在飞机交通路线中 for(i=0; for(j=0; if(AdjListi.Flightj.EndCity=StartCity) flag1=1; if(AdjListi.Flightj.EndCity=EndCity) flag2=1; if(flag1!=1&flag2!=1) printf(nt抱歉!没有您要查找的路线!return 0; if(TravelType=0) for(i=0;City

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1