(c++)データ構造とアルゴリズムの図:Dijkstra、Floydアルゴリズム、有向図回路の判断
2271 ワード
// :Dijkstra、Floyd( )
//
#include
#include
#define MAXE 100
#define MAXV 15
#define MAXWEIGHT 1000
#define INF 1000
using namespace std;
class graph
{
private:
int **matrix,*mark;
int vNum,eNum;
public:
graph(){};
graph(int v)
{
if(v>=MAXV) cout<=MAXWEIGHT) return;
if(matrix[start][end]==0)
{
eNum++;
}
matrix[start][end]=weight;
}
int * * Dijkstra(int s) //Dijkstra: s
{
int n=vNum; //
int *d=new int[n]; // s ( )( INF)
int *path=new int[n]; // ( )
set S,V; //S= ,V=
set::iterator itr;
S.insert(s); //
{ // d、path、V
for(int i=0;iadj[i][k]+adj[k][j])
{
adj[i][j]=adj[i][k]+adj[k][j];
path[i][j]=k;
}
for(int i=0;i "< ("< ";
cout< ("< "< "< "<"< "< "< "<"<