数据结构 图基本操作代码 联系客服

发布时间 : 星期日 文章数据结构 图基本操作代码更新完毕开始阅读634a0a45be1e650e52ea9948

实验五 图

//图的邻接矩阵存储

#include \#include \typedef struct { int adj;

}AdjMatrix[10][10]; typedef struct {

int vexs[10]; AdjMatrix arcs; int vexnum,arcnum; }MGraph;

int LocateVex(MGraph &G,int v) {

int k,j=0;

for(k=0;k

void Create(MGraph &G) { int i,j,k;

int v1=0,v2=0,w=0; printf(\请输入图的顶点数:\scanf(\printf(\请输入图的边数:\scanf(\//printf(\请输入图的顶点:\for(i=0;i

for(i=0;i

for(k=0;k

printf(\请输入一条边依附的顶点v1,v2及权值(v1,v2,w):\scanf(\i=LocateVex(G,v1); j=LocateVex(G,v2); G.arcs[i][j].adj=w;

//G.arcs[j][i].adj=G.arcs[i][j].adj; } }

void display(MGraph &G) {

int i,j;

for(i=0;i

for(j=0;j

void main() {

MGraph G; Create(G); display(G); }

//图的邻接表存储及深度广度遍历

#include \#include \

typedef struct ArcNode{ int adjvex;

struct ArcNode *nextarc; int weight; }ArcNode;

typedef struct VNode{

char vertex; //顶点域

ArcNode *firstarc; }VNode,AdjList[10];

typedef struct{ AdjList adjlist;

int vexnum,arcnum; }ALGraph;

int LocateVex(ALGraph &G,char v) {

int k,j=0;

for(k=0;k

void CreateALGraph(ALGraph &G) {//建立无向图的邻接表表示 int i,j,k,w; char v1,v2; ArcNode *s; printf(\请输入顶点数和边数(vexnum,arcnum):\ scanf( \.arcnum); //读人顶点数和边数 for(i=0;i