?? mgraph.h
字號:
#ifndef MGRAPH_H
#define MGRAPH_H
#include "head.h"
/*圖的鄰接矩陣表示方法*/
//typedef int VertexType;
typedef int AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
//鄰接矩陣,對無 權 圖 用 0,1表示相鄰否 ,對帶權圖,則為權值
typedef struct
{
int vexs[MAX_VERTEX_NUM] ; //頂點向量
AdjMatrix arcs;//鄰接矩陣, 對無 權 圖 用 0,1表示相鄰否 ,對帶權圖,則為權值
int vexnum; // 圖的當前頂點數
int arcnum; //圖的當前弧數
GraphKind kind ; //圖的種類標志
} MGraph ;
/*基于鄰接矩陣的一些相關的圖的操作*/
Status GreateGraph(MGraph* G);
//采用鄰接矩陣表示法,構造圖G
Status GreateUDN(MGraph* G);
//采用鄰接矩陣表示法,構造無向網G
Status GreateUDG(MGraph* G);
//采用鄰接矩陣表示法,構造無向圖G
Status GreateDG(MGraph* G);
//采用鄰接矩陣表示法,構造有向圖G
Status GreateDN(MGraph* G);
//采用鄰接矩陣表示法,構造有向網G
int MGraphMGraphLocalVex(MGraph* G,int v);
//返回圖中頂點的位置
void ShortestPath_DIJ(MGraph* G,int v0,int** P,int* D);
//用DiJstra算法求有向網G的v0頂點到其余頂點v的最短路徑P[v]及其帶權長度D[v]
//若p[v][w]為true,則w是從v0到v當前求得最短路徑上的頂點
//final[v]為true,當且僅當v屬于S,即已經求得從v0到v的最短路徑
void ShortestPath_FLOYD(MGraph* G,int***P,int**D) ;
//用FLOYD算法求有向網G中各頂點v到w之間的最短路徑P[v][w]及
//帶權長度D[v][w],若P[v][w][u]為1,則u是從v到w當前求得最短
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -