ITPub博客

首页 > > > C++无向图的邻接矩阵

C++无向图的邻接矩阵

作者:karspb 时间:2019-11-06 14:34:49 0 删除 编辑
这是最基本的简历无向图邻接矩阵表示的代码:

#include<iostream>
using namespace std;
typedef char VertexType;
typedef int EdgeType;
#define MAXVEX 100
#define INFINITY 65535
typedef struct 
{
        VertexType vexs[MAXVEX];
        EdgeType arc[MAXVEX][MAXVEX];
        int numVertexes,numEdges;
        }MGraph;

int main(MGraph *G)
{
     int i,j,k,w;
     cout<<"输入定点数和边数:"<<endl;
     cin>>G->numVertexes>>G->numEdges;
     for(i=0;i<G->numVertexes;++i)
     cin>>G->vexs[i];
     for(i=0;i<G->numVertexes;++i)
          for(j=0;j<G->numVertexes;++j)
          G->arc[i][j]=INFINITY; //邻接矩阵初始化
     for(k=0;k<G->numEdges;++k) 
     {
      cout<<"输入边(vi,vj)上的下标i、下标j和权值w:"<<endl;
      cin>>i>>j;
      G->arc[i][j]=w;
      G->arc[j][i]=G->arc[i][j];//由于是无向图,矩阵对称 
                                }
      for(i=0;i<G->numVertexes;++i)
          for(j=0;j<G->numVertexes;++j)
          {cout<<G->arc[i][j];}
  return 0;                         
}

编译可以通过,但是执行一步,也就是输入了定点数和边数之后,就自动停止运行了,调试的时候,到第一个for循环,就跳出对话框“Unhandled exception in Graph.exe:0xC0000005:Access Violation”,这是哪里出了问题呢?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2001/viewspace-3128526/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-31

  • 博文量
    222
  • 访问量
    16819