?? graphtest.cpp
字號:
#include <conio.h>
typedef char VerT;
typedef char datatype;
#include "AdjMWGraph.h"
#include "Floyd.h"
#include "GraphLib.h"
template <class T>
void Make2DArray(T** &a, int row, int col)
//定義二維動態數組a,其行數為row, 列數為col
{
a = new T*[row]; //a為有row個指針的指針數組
for(int i = 0; i < row; i++)
{
a[i] = new T[col]; //每個指針指向一個有col個元素空間的數組
}
}
void main(void)
{
AdjMWGraph g;
char a[] = {'A','B','C'};
RowColWeight rcw[] = {{0,2,5},{2,1,6},{1,0,4},{0,1,12}};
int n = 3, e = 4;
CreatGraph(g, a, n, rcw, e);
int m = g.NumOfVertices();
int **distance, **path;
Make2DArray<int>(distance, m, m);
Make2DArray<int>(path, m, m);
Floyd(g, distance, path);
/*
int i, j, k;
for(i = 0; i < m; i++)
{
cout << "從頂點" << g.GetValue(i) << "到其他各頂點的最短距離為:" << endl;
for(j = 0; j < m; j++)
cout << "到頂點 " << g.GetValue(j)
<< " 的最短距離為:" << distance[i][j] << endl;
for(j = 0; j < m; j++)
{
cout << "從頂點" << g.GetValue(i)
<< "到頂點" << g.GetValue(j) << "的最短路徑為:";
for(k = 0; k < m; k++)
if(path[i][k] != -1)
cout << g.GetValue(path[i][k]) << " ";
cout << endl;
}
getch();
}
*/
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -