///////////////////////////
// //
// 图数据结构 graph.h //
// //
//////////////////////////
#include<iostream.h>
#include"Queue.h"
template<class NameType,class DisType>class Graph;
template<class NameType,class DisType> struct Node
{
friend class Graph<NameType,DisType>;
int num;
DisType val;
Node<NameType,DisType> *next;
};
template<class NameType,class DisType> struct GpNode
{
friend class Graph<NameType,DisType>;
NameType data;
Node<NameType,DisType> *link;
};
template<class NameType,class DisType>
class Graph
{
public:
void Creat(); //创建图
void PrintNode(); //打印图中的各个数据项
void DFS(); //图的深度优先搜索,主过程
void DFS(int v,int visited[]); // 子过程 <
// //
// 图数据结构 graph.h //
// //
//////////////////////////
#include<iostream.h>
#include"Queue.h"
template<class NameType,class DisType>class Graph;
template<class NameType,class DisType> struct Node
{
friend class Graph<NameType,DisType>;
int num;
DisType val;
Node<NameType,DisType> *next;
};
template<class NameType,class DisType> struct GpNode
{
friend class Graph<NameType,DisType>;
NameType data;
Node<NameType,DisType> *link;
};
template<class NameType,class DisType>
class Graph
{
public:
void Creat(); //创建图
void PrintNode(); //打印图中的各个数据项
void DFS(); //图的深度优先搜索,主过程
void DFS(int v,int visited[]); // 子过程 <
图数据结构 Graph 实现

本文介绍了一个图数据结构Graph的实现,包括创建图、打印节点、深度优先搜索、广度优先搜索以及求最短路径的方法。Graph类使用邻接表结构存储节点和边,并提供了友元函数进行操作。
最低0.47元/天 解锁文章
693

被折叠的 条评论
为什么被折叠?



