您的位置:首页 > 编程语言 > C语言/C++

所有顶点间最短路径FloydWarshall算法头文件C++

2011-09-17 12:19 639 查看
你看,禁止了合成复制构造函数和合成赋值操作符,这些都是新学的.

其他的,就比较直观了.

//	graphRepresentAsAdjacentMatrix.h --	graph header file.

//	Purpose:
//	A graph represent as a adjacent matrix, this graph can't storage 
//	weight value instead of true or false means m_matrix[i][j] is on or off.

#include <iostream>
#include <vector>

class Graph
{
private:
	static const int Infinity = 1 << 30 ;
	static const int Nil = -1 ;
	typedef int Weight ;
	Weight * * m_matrix ;
	Weight * * m_distance ;
	int * * m_parent ;
	int m_rows ;
	int m_currentRows ;
	int m_min (int a, int partAOfB, int partBOfB) ;
	Graph (const Graph & graph) ;
	Graph & operator = (const Graph & graph) ;
public:
	explicit Graph (unsigned int rows) ;
	bool importARowOfGraph (const std ::vector<int> & indexOfCurrentVertexAdjoinTo, const std ::vector<int> & weightOfCurrentVertexAdjoinTo) ;
	void floydWarshall (void) ;
	void printPathBetweenTwoVertexes (int startVertex, int endVertex) ;
	~Graph (void) ;
} ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: