本文探讨了在C++编程语言中实现图数据结构的方法和技巧,包括常用算法的应用。通过具体实例解析图的各种表示方式及其操作。
```cpp
#include
#include Bgraph.h // 引入头文件
using namespace std;
/*
* 前置条件:图不存在
* 输入:无
* 功能:图的初始化
* 输出:无
* 后置条件:得到一个有向图
*/
template
BGraph::BGraph(T a[], int n, int e)
{
int i,j,k,w;
ArcNode *E;
vertexNum=n;
arcNum=e;
for(i=0;i>i>>j>>w;
// 先插入边
E=new ArcNode;
E->info=w;
E->adjvex=j;
E->nextarc=adjlist[i].firstarc;
adjlist[i].firstarc=E;
// 再插入边
E=new ArcNode;
E->info=w;
E->adjvex=i;
E->nextarc=adjlist[j].firstarc;
adjlist[j].firstarc=E;
}
}
```