//圖的鄰接矩陣表示法
/*#include <iostream>
using namespace std;
struct graph
{
char vexs[100];//圖中頂點的數組
int arc[100][100];//圖的鄰接矩陣
int numvertexes,numedges;//頂點數和邊數
}g;
void creategraph(graph *g)
{
int i,j,k;
cin>>g->numvertexes>>g->numedges;
for(i=0;i<g->numvertexes;i++)//輸入頂點數組
{
g->vexs[i]=getchar();
}
for(i=0;i<g->numedges;i++)//初始化鄰接矩陣
for(j=0;j<g->numedges;j++)
cin>>g->arc[i][j];
}*/
//鄰接鏈表表示法
#include <iostream>
using namespace std;
const int max_vex=30;
typedef enum{dg,ag,wdg,wag}graphkind;
struct linknode//邊節點類型定義
{
int adjvex;//鄰接點(於vi連通的其它節點)在頭結點數組中的位置下標
int info;//邊或弧的信息,這裏表示權值
linknode *nextarc;//指向下一個表節點
};
struct vexnode//頂點結點定義類型
{
char data;//頂點信息,這裏用char型表示
//typedef char vextype;使用模板表示
linknode *firstarc;//指向第一個表節點
};
struct algraph//圖的結構定義
{
graphkind kind;//圖的種類標誌
int vexnum;
vexnode adjlist[max_vex];//表頭向量
}
圖的鄰接矩陣存儲
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.