- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
形状存储设计项目书
形状存储设计
项目书
题目:以直接式编码的形式为平面二维形状设计存储结构
学院:资源与环境工程学院
专业:地理信息系统
成员:马文彬 赵力学 周泉酉 索朗巴珠
方法:我们组所设计的存储方法是以建立邻接表的方式来存储平面二维形状。
用到的数据结构是
一个是顶点表,包括顶点和指向下一个邻接点的指针
一个是边表, 数据结构跟顶点不同,存储的是顶点的序号坐标,和指向下一个的指针
刚开始的时候把顶点表初始化,指针指向null。然后边表插入进来,是插入到前一个,也就是直接插入到firstedge指向的下一个,而后面的后移
代码:
#include?stdio.h??
#include?stdlib.h??
#define??MaxVertexNum?100??/*最大顶点数为100*/
typedef?char?VertexType;??
typedef?struct?node???/*边表节点??
{??
???int?adjvex[2];?/*邻接点域*/
???node*?next[2];?/*指向下一个邻接点的指针域*/?
}EdgeNode;??
typedef?struct?????/*顶点表节点??
{??
???VertexType?vertex[2];??/*顶点域*/
???EdgeNode*?firstedge[2];??/*边表头指针*/
}VertexNode;??
typedef?VertexNode?AdjList[MaxVertexNum];??/*AdjList 是邻接表类型*/
typedef?struct???
{???
????AdjList?adjlist;??/*邻接表*/
????int?n,e;??/*顶点数和边数*/
}ALGraph;??/*ALGraph 是以邻接表方式存储的图类型*/
void?create(ALGraph*);??
void?main()??
{??
???ALGraph*?G=?(ALGraph*)malloc(sizeof(ALGraph));??
???create(G);??
???for?(int?i=0;i?G-n;i++)??
???{??
???????printf(%d-,i);??
???????while(G-adjlist[i].firstedge!=NULL)??
???????{??
????????????printf(%d-,G-adjlist[i].firstedge-adjvex);??
????????????G-adjlist[i].firstedge=G-adjlist[i].firstedge-next;??
???????}??
???????printf(\n);??
???}??
}??
void?create(ALGraph*?G)??
{??
????int?p,k,w,v;?
Int i[2],j[2];?
????EdgeNode?*s;??
????printf(读入顶点数和边数);??
????scanf(%d,%d,G-n,G-e);??/*读入顶点数和边数*/
???for?(p=0;pG-n;p++)??/*建立有n 个顶点的顶点表*/
???{??
???????fflush(stdin);??
???????printf(建立顶点表d\n,p);??
???????G-adjlist[p].vertex[0]=getchar();??
G-adjlist[p].vertex[1]=getchar();??
???????G-adjlist[p].firstedge[0]=NULL;??/*顶点的边表头指针设为空*/
G-adjlist[p].firstedge[1]=NULL;
???}??
???printf(建立边表\n);??
???for?(k=0;kG-e;k++)??/*建立边表*/
???{??
???????printf(读入(vi-vj)的顶点对);??/*读入边Vi,Vj的顶点*/
???????scanf(%d,%d,%d,%d,%d,%d,p,i[0],i[1],q,j[0],j[1]);??
????? ??s=(EdgeNode*)malloc(sizeof(EdgeNode));??/*生成新边表结点s*/
???????s-adjvex[0]=j[0];??/*邻接点序号为j*/
s-adjvex[1]=j[1];
???????s-next[0]=G-adjlist[
您可能关注的文档
- 开心果种植技术.doc
- 开平市体育局中央空调系统维修保养服务项目招标文件及工程方案书.doc
- 开挖、支护、降水及抗浮锚杆工程投标文件技术标.doc
- 开放式自主高效课堂教学研究课题开题报告.doc
- 开放通闸模式的研究方案.doc
- 开发测井技术.ppt
- 开封黄河生态旅游项目策划方案.doc
- 开放式智慧农业物联网公共服务平台实施方案.doc
- 开泰路路灯工程施工组织设计.doc
- 开滦集团唐山矿业分公司实习转正论文.doc
- 2025年吉林省集安市事业单位招聘考试公共基础知识试题题库附答案详解(基础题).docx
- 2025年吉林省集安市事业单位招聘考试公共基础知识试题题库附答案详解(模拟题).docx
- 急诊科实习生出科考试试题(附答案).docx
- 2025年吉林省集安市事业单位招聘考试公共基础知识试题题库附答案详解(名师推荐).docx
- 2025年吉林省集安市事业单位招聘考试公共基础知识试题题库附答案详解(培优a卷).docx
- 2025年安全教育培训试题及答案.docx
- 湖南事业单位考试试题及答案公共基础知识.docx
- 2025年吉林省集安市事业单位招聘考试公共基础知识试题题库附答案详解(考试直接用).docx
- 事业单位考试(综合管理类A类)综合应用能力试题与参考答案.docx
- 2025年吉林省集安市事业单位招聘考试公共基础知识试题题库附答案详解(满分必刷).docx
文档评论(0)