圖的鄰接矩陣存儲

//圖的鄰接矩陣表示法
/*#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];//表頭向量
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章