定义邻接矩阵存储的图类。
[实验要求]
- 创建一个邻接矩阵存储的图;
- 返回图中指定边的权值;
- 查找图中某顶点的第一个邻接顶点、某顶点关于另一个顶点的下一个邻接顶点序号;
- 图的深度优先遍历;
[截图]
- 实验例图
- 操作截图
[实现代码]
一共有三个文件Graph_Martix.h、Graph_Martix.cpp和main.cpp
- Graph_Martix.h
#ifndef _GRAPH_MARTIX_H
#define _GRAPH_MARTIX_H
#include <iostream>
using namespace std;
const int MaxGrzphSize=256; //图的最大顶点个数
const int MaxWeight=1000; //图中允许的最大权值
class Graph_Martix
{
private:
int edge[1000][256];
int graphsize;
public:
Graph_Martix();
int GetWeight(const int v1,const int v2);
int GetFirstNeighbor(const int v);
void GetAllNeighbor(const int v);
int GetNextNeighbor(const int v1,const int v2);
void DepthFirstSearch(int v);
void RDFS(const int v,int *visited);
};
#endif
- Graph_Martix.cpp
#include "Graph_Martix.h"
Graph_Martix::Graph_Martix() {
cout