- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最小生成树的方法完成室内布线问题解析
《算法与数据结构》课程设计报告书
?
最小生成树:室内布线
专 业:计算机科学与技术
成 绩:
烟台大学计算机与控制工程学院
四、#includeiostream
#includemath.h
using namespace std;
typedef struct //存放节点数据
{
float x;
float y;
float h;
}outlet;
typedef struct
{
int no;//存放节点编号
int info;//存放节点所处墙面
}VertexType;
typedef struct
{
float edges[20][20];//存放邻接矩阵数据
int n,e;
VertexType vexs[20];//节点变量
}MGraph;
int Dplace(outlet d[4])//根据门四角坐标求门的位置
{
if(d[1].x==d[2].xd[1].x==d[3].xd[1].x==d[4].x)//若门四角的横坐标相同
{
if(d[1].x==0)//横坐标为0,则门在1号墙壁上
return 1;
else return 3;//否则在三号墙壁上
}
if(d[1].y==d[2].yd[1].y==d[3].yd[1].y==d[4].y)//若门四角纵坐标相同
{
if(d[1].y==0)
return 2;
else return 4;
}
}
int Oplace(outlet Olet,float a,float b)//插座的位置
{
if(Olet.x==0Olet.y=0Olet.h=0)
return 1;
if(Olet.y==0Olet.x 0Olet.h0)
return 2;
if(Olet.x==aOlet.y=0Olet.h=0)
return 3;
if(Olet.y==bOlet.x =0Olet.h=0)
return 4;
}
int Xplace(int a,int b)//判断两插座的相对位置
{
if(a==b)//如果两插座在同一面墙上,返回0
return 0;
if(a==1(b==2||b==4)||a==2(b==1||b==3)||a==3(b==2||b==4)||a==4(b==3||b==1))//如果两插座在相邻面墙上,返回1
return 1;
else return 2;
}
float CC(outlet Olet1,outlet Olet2,outlet door[4],int a)//有门存在时两插座之间的距离
{
float n;
if(a==1||a==3)//当门在第1或3面墙上时
{
if(Olet1.h=door[2].hOlet2.h=door[2].h(Olet1.y=door[2].ydoor[3].y=Olet2.y)||(Olet2.y=door[2].ydoor[3].y=Olet1.y))
//若果门处在两插座连线上
{
n=fabs(Olet1.x-Olet2.x)+fabs(Olet1.y-Olet2.y)+(door[2].h-Olet1.h)+(door[2].h-Olet2.h);
return n;
}
else//如果门不影响两插座的链接
{
n=fabs(Olet1.x-Olet2.x)+fabs(Olet1.y-Olet2.y)+fabs(Olet1.h-Olet2.h);
return n;
}
}
if(a==2||a==4)//如果门在第2 4 面墙上
{
if(Olet1.h=door[2].hOlet2.h=door[2].h(Olet1.x=door[2].xdoor[3].x=Olet2.x||Olet2.x=door[2].xdoor[3].x=Olet1.x))
//若果门处在两插座连线上
{
n=fabs(Olet1.x-Olet2.x)+fabs(Olet1.y-Olet2.y)+(door[2].h-Olet1.h)+(door[2].h-Olet2.h);
return n;
}
else//如果门在第2 4 面墙上
{
n=fabs(Olet1.x-Olet2.x)+fabs(Olet1.y-Olet2.y)+fabs(Olet1.h-Olet2.h);
return n;
}
}
}
typedef struct
您可能关注的文档
最近下载
- 2025年中国心力衰竭诊断和治疗指南更新要点解读.pdf VIP
- 百度免费文档批量下载工具说明书.pdf VIP
- 质量管理的55个细节.pptx VIP
- 2025年物理普通高中学业水平考试合格性考试考试试卷含答案 .pdf VIP
- 绿色设计产品评价技术规范 鞋类.docx VIP
- 哈尔滨商业大学《大学物理》2025—2026学年第一学期期末试卷(A卷).docx VIP
- [纺织标准]FZT 01104-2010 机织印染产品取水计算办法及单耗基本定额.pdf
- 2025年年轻干部学习教育对照查摆问题清单(五个方面).docx VIP
- 电力巡线方案.pdf VIP
- G2809A-2005部队油库加油站设计与施工规范(完整版).doc VIP
文档评论(0)