adj.h

来自「数据结构中图的设计。这是图的邻接矩阵的存储结构。」· C头文件 代码 · 共 52 行

H
52
字号
typedef char VerT;
typedef int DistT;
const int MaxVertices=100;
struct Edge
{
	int dest;
	DistT weight;
	Edge* next;
	Edge(){}
	Edge(int d,DistT w ):dest(d),weight(w),next(NULL){}
};
struct item
{
	VerT data;
	Edge* adj;
};
class AdjTWGraph
{
private:
	item Vertices[MaxVertices];
	int numVertices;
	int numOfEdges;
public:
	AdjTWGraph();
	~AdjTWGraph();
	int GraphEmpty()const
	{
		return numVertices==0;
	}
	int NumOfVertices()
	{
		return numVertices;
	}
	int NumOfEdges()
	{
		return numOfEdges;
	}
	VerT GetValue(const int i);
	int GetWeight(const int v1,const int v2);
	void InsertVertex(const VerT&vertex);
	void InsertEdge(const int v1,const int v2,int weight);
	void DeleteVertex(const int v);
	void DeleteEdge(const int v1,const int v2);
	int GetFirstNeighbor(const int v);
	int GetNextNeighbor(const int v1,const int v2);
	void DepthFirstSearch(const int v,int visited[],void visit(VerT item));
	void DepthFirstSearch(void visit(VerT item));
	void BroadFirstSearch(const int v,int visited[],void visit(VerT item));
	void BroadFirstSearch(void visit(VerT item));
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?