Head.h
上传用户:yingjiejs
上传日期:2022-06-05
资源大小:841k
文件大小:1k
源码类别:

GIS编程

开发平台:

Visual C++

  1. #include <string>
  2. using namespace std;
  3. /*
  4.  *头文件
  5.  *主要声明函数头,结构体,常量
  6.  */
  7. #define  MaxSize  12  
  8. #define  MAX    10000 //INT_MAX-1
  9. #define  MUL     3
  10. #define  SIMGLE  1
  11. #define  EVERYONE   8
  12. #define  ONE     1
  13. //图的结构体,这里采用邻接矩阵
  14. typedef  struct{
  15. string  vertex[MaxSize]; //存放图中顶点的数组
  16. string  vno[MaxSize]; //代号
  17. string  ifo[MaxSize];//边的信息
  18.     int arc[MaxSize][MaxSize];//图节点的邻接矩阵
  19. string arcifo[MaxSize][MaxSize];//节点的每条弧的信息
  20. int vertexNum;  //图的顶点数和边数
  21. }MGraph;
  22. //设置为全局变量
  23. static int dist[MaxSize]; //最短长度
  24. static int path[MaxSize]; //最短路径
  25. static int s[MaxSize]; 
  26. static int beginv,endv;
  27. static int v;
  28. //图的初始化函数
  29. void InitGraph(MGraph  &M,int* a,string* v,string *no,string *vifo,string arcifos[][8], int n );
  30. //输出整张图的信息
  31. void PutOutVexInfo(MGraph &M);
  32. //输出所有边的权重
  33. void PutOutArcInfo(MGraph &M); 
  34. //改变某一条弧的权重
  35. void SetArc(MGraph &M,int v1,int v2,int arclength);
  36. //删除某一个弧
  37. void DeleteArc(MGraph &M,int n, int w);
  38. //计算最短路径
  39. void  Dijkstra(MGraph &M,int beginv1,int endv1,int road); 
  40. //到某个顶点的路径
  41. void to_vex(MGraph &M,int endv);
  42. void to_vexs(MGraph &M);
  43. //菜单
  44. void nemu();