大数据结构课程设计地图着色问题Word下载.docx
《大数据结构课程设计地图着色问题Word下载.docx》由会员分享,可在线阅读,更多相关《大数据结构课程设计地图着色问题Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
char*name;
(顶点所表示的省份的名称)
intcolor;
(省份的颜色,用数字表示不同的颜色)
ArcNode*firstnext;
(指向第一个弧)
}shengfen[35];
三:
详细设计
该程序一共包含三个模版:
分别为初始化模版、着色模版和输出模版。
1.初始化模块
声明表示省份的顶点信息、省份之间相邻关系的弧的信息,并为其赋值。
2.着色模块
为各个省份着色。
for(i=1;
i<
=34;
i++)
{
sheng[i].color=0;
}
for(i=1;
j=1;
p=sheng[i].firstnext;
while(p!
=NULL)
{
while(p!
=NULL&
&
j!
=sheng[p->
x].color)
{
p=p->
next;
}
if(p!
j++;
}
sheng[i].color=j;
3.输出模块
输出各个省份的颜色信息。
printf("
%s:
"
sheng[i].name);
%d\n"
sheng[i].color);
printf("
/n0表示白色,1表示蓝色,2表示红色,3表示绿色,4表示黄色"
);
return0;
四:
调试分析
因为我们的程序已知是中国地图,为中国地图染色,所以程序没有输入,只有输出信息。
从输出的信息来看,我们最多使用了4种颜色。
关于程序测试时存在的问题,我们程序在写完之后,出现了没有错误但是无法输出信息的问题,从网上查找发现是对警告没处理好的原因,随后我们参考了网上的解决方案把问题解决了。
关于程序的改进,我们的程序使用的是有向图,但省份之间的相邻关系用无向图就可以表示,这是程序可以改进的地方。
其次,我们的程序输出结果描述省份颜色的是数字,也可以改进后使之输出具体的颜色。
五:
源程序清单
#include<
stdio.h>
stdlib.h>
typedefstructArcNode{
typedefstruct{
intmain()
shengfensheng;
inti,j;
ArcNode*p,*hu1,*hu2,*hu3,*hu4,*hu5,*hu6,*hu7,*hu8,*hu9,*hu10,*hu11,*hu12,*hu13,*hu14,*hu15,*hu16,*hu17,*hu18;
ArcNode*hu19,*hu20,*hu21,*hu22,*hu23,*hu24,*hu25,*hu26,*hu27,*hu28,*hu29,*hu30,*hu31,*hu32,*hu33,*hu34,*hu35;
ArcNode*hu36,*hu37,*hu38,*hu39,*hu40,*hu41,*hu42,*hu43,*hu44,*hu45,*hu46,*hu47,*hu48,*hu49,*hu50,*hu51,*hu52;
ArcNode*hu53,*hu54,*hu55,*hu56,*hu57,*hu58,*hu59,*hu60,*hu61,*hu62,*hu63,*hu64,*hu65,*hu66;
ArcNode*hu67,*hu68,*hu69,*hu70,*hu71,*hu72,*hu73,*hu74,*hu75,*hu76,*hu77,*hu78,*hu79,*hu80,*hu81,*hu82,*hu83,*hu84;
ArcNode*hu85,*hu86,*hu87,*hu88,*hu89,*hu90,*hu91,*hu92,*hu93,*hu94,*hu95,*hu96,*hu97,*hu98,*hu99,*hu100;
ArcNode*hu101,*hu102,*hu103,*hu104,*hu105,*hu106,*hu107,*hu108,*hu109,*hu110,*hu111,*hu112,*hu113,*hu114,*hu115,*hu116,*hu117;
ArcNode*hu118,*hu119,*hu120,*hu121,*hu122,*hu123,*hu124,*hu125,*hu126,*hu127,*hu128,*hu129;
ArcNode*hu130,*hu131,*hu132,*hu133,*hu134,*hu135,*hu136,*hu137,*hu138,*hu139,*hu140,*hu141,*hu142;
hu1=(ArcNode*)malloc(sizeof(ArcNode));
hu2=(ArcNode*)malloc(sizeof(ArcNode));
hu3=(ArcNode*)malloc(sizeof(ArcNode));
hu4=(ArcNode*)malloc(sizeof(ArcNode));
hu5=(ArcNode*)malloc(sizeof(ArcNode));
hu6=(ArcNode*)malloc(sizeof(ArcNode));
hu7=(ArcNode*)malloc(sizeof(ArcNode));
hu8=(ArcNode*)malloc(sizeof(ArcNode));
hu9=(ArcNode*)malloc(sizeof(ArcNode));
hu10=(ArcNode*)malloc(sizeof(ArcNode));
hu11=(ArcNode*)malloc(sizeof(ArcNode));
hu12=(ArcNode*)malloc(sizeof(ArcNode));
hu13=(ArcNode*)malloc(sizeof(ArcNode));
hu14=(ArcNode*)malloc(sizeof(ArcNode));
hu15=(ArcNode*)malloc(sizeof(ArcNode));
hu16=(ArcNode*)malloc(sizeof(ArcNode));
hu17=(ArcNode*)malloc(sizeof(ArcNode));
hu18=(ArcNode*)malloc(sizeof(ArcNode));
hu19=(ArcNode*)malloc(sizeof(ArcNode));
hu20=(ArcNode*)malloc(sizeof(ArcNode));
hu21=(ArcNode*)malloc(sizeof(ArcNode));
hu22=(ArcNode*)malloc(sizeof(ArcNode));
hu23=(ArcNode*)malloc(sizeof(ArcNode));
hu24=(ArcNode*)malloc(sizeof(ArcNode));
hu25=(ArcNode*)malloc(sizeof(ArcNode));
hu26=(ArcNode*)malloc(sizeof(ArcNode));
hu27=(ArcNode*)malloc(sizeof(ArcNode));
hu28=(ArcNode*)malloc(sizeof(ArcNode));
hu29=(ArcNode*)malloc(sizeof(ArcNode));
hu30=(ArcNode*)malloc(sizeof(ArcNode));
hu31=(ArcNode*)malloc(sizeof(ArcNode));
hu32=(ArcNode*)malloc(sizeof(ArcNode));
hu33=(ArcNode*)malloc(sizeof(ArcNode));
hu34=(ArcNode*)malloc(sizeof(ArcNode));
hu35=(ArcNode*)malloc(sizeof(ArcNode));
hu36=(ArcNode*)malloc(sizeof(ArcNode));
hu37=(ArcNode*)malloc(sizeof(ArcNode));
hu38=(ArcNode*)malloc(sizeof(ArcNode));
hu39=(ArcNode*)malloc(sizeof(ArcNode));
hu40=(ArcNode*)malloc(sizeof(ArcNode));
hu41=(ArcNode*)malloc(sizeof(ArcNode));
hu42=(ArcNode*)malloc(sizeof(ArcNode));
hu43=(ArcNode*)malloc(sizeof(ArcNode));
hu44=(ArcNode*)malloc(sizeof(ArcNode));
hu45=(ArcNode*)malloc(sizeof(ArcNode));
hu46=(ArcNode*)malloc(sizeof(ArcNode));
hu47=(ArcNode*)malloc(sizeof(ArcNode));
hu48=(ArcNode*)malloc(sizeof(ArcNode));
hu49=(ArcNode*)malloc(sizeof(ArcNode));
hu50=(ArcNode*)malloc(sizeof(ArcNode));
hu51=(ArcNode*)malloc(sizeof(ArcNode));
hu52=(ArcNode*)malloc(sizeof(ArcNode));
hu53=(ArcNode*)malloc(sizeof(ArcNode));
hu54=(ArcNode*)malloc(sizeof(ArcNode));
hu55=(ArcNode*)malloc(sizeof(ArcNode));
hu56=(ArcNode*)malloc(sizeof(ArcNode));
hu57=(ArcNode*)malloc(sizeof(ArcNode));
hu58=(ArcNode*)malloc(sizeof(ArcNode));
hu59=(ArcNode*)malloc(sizeof(ArcNode));
hu60=(ArcNode*)malloc(sizeof(ArcNode));
hu61=(ArcNode*)malloc(sizeof(ArcNode));
hu62=(ArcNode*)malloc(sizeof(ArcNode));
hu63=(ArcNode*)malloc(sizeof(ArcNode));
hu64=(ArcNode*)malloc(sizeof(ArcNode));
hu65=(ArcNode*)malloc(sizeof(ArcNode));
hu66=(ArcNode*)malloc(sizeof(ArcNode));
hu67=(ArcNode*)malloc(sizeof(ArcNode));
hu68=(ArcNode*)malloc(sizeof(ArcNode));
hu69=(ArcNode*)malloc(sizeof(ArcNode));
hu70=(ArcNode*)malloc(sizeof(ArcNode));
hu71=(ArcNode*)malloc(sizeof(ArcNode));
hu72=(ArcNode*)malloc(sizeof(ArcNode));
hu73=(ArcNode*)malloc(sizeof(ArcNode));
hu74=(ArcNode*)malloc(sizeof(ArcNode));
hu75=(ArcNode*)malloc(sizeof(ArcNode));
hu76=(ArcNode*)malloc(sizeof(ArcNode));
hu77=(ArcNode*)malloc(sizeof(ArcNode));
hu78=(ArcNode*)malloc(sizeof(ArcNode));
hu79=(ArcNode*)malloc(sizeof(ArcNode));
hu80=(ArcNode*)malloc(sizeof(ArcNode));
hu81=(ArcNode*)malloc(sizeof(ArcNode));
hu82=(ArcNode*)malloc(sizeof(ArcNode));
hu83=(ArcNode*)malloc(sizeof(ArcNode));
hu84=(ArcNode*)malloc(sizeof(ArcNode));
hu85=(ArcNode*)malloc(sizeof(ArcNode));
hu86=(ArcNode*)malloc(sizeof(ArcNode));
hu87=(ArcNode*)malloc(sizeof(ArcNode));
hu88=(ArcNode*)malloc(sizeof(ArcNode));
hu89=(ArcNode*)malloc(sizeof(ArcNode));
hu90=(ArcNode*)malloc(sizeof(ArcNode));
hu91=(ArcNode*)malloc(sizeof(ArcNode));
hu92=(ArcNode*)malloc(sizeof(ArcNode));
hu93=(ArcNode*)malloc(sizeof(ArcNode));
hu94=(ArcNode*)malloc(sizeof(ArcNode));
hu95=(ArcNode*)malloc(sizeof(ArcNode));
hu96=(ArcNode*)malloc(sizeof(ArcNode));
hu97=(ArcNode*)malloc(sizeof(ArcNode));
hu98=(ArcNode*)malloc(sizeof(ArcNode));
hu99=(ArcNode*)malloc(sizeof(ArcNode));
hu100=(ArcNode*)malloc(sizeof(ArcNode));
hu101=(ArcNode*)malloc(sizeof(ArcNode));
hu102=(ArcNode*)malloc(sizeof(ArcNode));
hu103=(ArcNode*)malloc(sizeof(ArcNode));
hu104=(ArcNode*)malloc(sizeof(ArcNode));
hu105=(ArcNode*)malloc(sizeof(ArcNode));
hu106=(ArcNode*)malloc(sizeof(ArcNode));
hu107=(ArcNode*)malloc(sizeof(ArcNode));
hu108=(ArcNode*)malloc(sizeof(ArcNode));
hu109=(ArcNode*)malloc(sizeof(ArcNode));
hu110=(ArcNode*)malloc(sizeof(ArcNode));
hu111=(ArcNode*)malloc(sizeof(ArcNode));
hu112=(ArcNode*)malloc(sizeof(ArcNode));
hu113=(ArcNode*)malloc(sizeof(ArcNode));
hu114=(ArcNode*)malloc(sizeof(ArcNode));
hu115=(ArcNode*)malloc(sizeof(ArcNode));
hu116=(ArcNode*)malloc(sizeof(ArcNode));
hu117=(ArcNode*)malloc(sizeof(ArcNode));
hu118=(ArcNode*)malloc(sizeof(ArcNode));
hu119=(ArcNode*)malloc(sizeof(ArcNode));
hu120=(ArcNode*)malloc(sizeof(ArcNode));
hu121=(ArcNode*)malloc(sizeof(ArcNode));
hu122=(ArcNode*)malloc(sizeof(ArcNode));
hu123=(ArcNode*)malloc(sizeof(ArcNode));
hu124=(ArcNode*)malloc(sizeof(ArcNode));
hu125=(ArcNode*)malloc(sizeof(ArcNode));
hu126=(ArcNode*)malloc(sizeof(ArcNode));
hu127=(ArcNode*)malloc(sizeof(ArcNode));
hu128=(ArcNode*)malloc(sizeof(ArcNode));
hu129=(ArcNode*)malloc(sizeof(ArcNode));
hu130=(ArcNode*)malloc(sizeof(ArcNode));
hu131=(ArcNode*)malloc(sizeof(ArcNode));
hu132=(ArcNode*)malloc(sizeof(ArcNode));
hu133=(ArcNode*)malloc(sizeof(ArcNode));
hu134=(ArcNode*)malloc(sizeof(ArcNode));
hu135=(ArcNode*)malloc(sizeof(ArcNode));
hu136=(ArcNode*)malloc(sizeof(ArcNode));
hu137=(ArcNode*)malloc(sizeof(ArcNode));
hu138=(ArcNode*)malloc(sizeof(ArcNode));
hu139=(ArcNode*)malloc(sizeof(ArcNode));
hu140=(ArcNode*)malloc(sizeof(ArcNode));
hu141=(ArcNode*)malloc(sizeof(ArcNode));
hu142=(ArcNode*)malloc(sizeof(ArcNode));
sheng[1].name="
heilongjiang"
;
hu1->
x=2;
hu2->
x=4;
sheng[1].firstnext=hu1;
next=hu2;
next=NULL;
sheng[2].name="
jilin"
hu3->
hu4->
x=3;
hu141->
x=1;
sheng[2].firstnext=hu3;
next=hu4;
next=hu141;
sheng[3].name="
liaoning"
hu5->
hu6->
x=10;
hu142->
sheng[3].firstnext=hu5;
next=hu6;
next=hu142;
sheng[4].name="
neimenggu"
hu7->
hu8->
hu9->
hu10->
hu11->
x=9;
hu12->
x=8;
hu13->
x=7;
hu14->
x=6;
hu15->
x=5;
sheng[4].firstnext=hu7;
next=hu8;
next=hu9;
next=hu10;
next=hu11;
next=hu12;
next=hu13;
next=hu14;
next=hu15;
sheng[5].name="
xinjiang"
hu16->
hu17->
x=13;
hu18->
x=16;
sheng[5].firstnext=hu16;
next=hu17;
next=hu18;
sheng[6].name="
gansu"
hu19->
hu20->
hu21->
hu22->
x=17;
hu23->
hu24->
sheng[6].firstnext=hu19;
next=hu20;
next=hu21;
next=hu22;
hu22-