《数据结构图的遍历实验深度优先》由会员分享,可在线阅读,更多相关《数据结构图的遍历实验深度优先(4页珍藏版)》请在金锄头文库上搜索。
1、#include#include#define MAX_VERTEX_NUM 20typedef enumDG,AGGraphKind;typedef struct ArcCellint adj; /VRType 是顶点关系类型。对无权图,用 1 或 0 表示相邻否;对带全图,则为权值类型; /该弧相关信息的指针 sArcCell,AdjMatrixMAX_VERTEX_NUMMAX_VERTEX_NUM;typedef structint vexsMAX_VERTEX_NUM; /顶点向量AdjMatrix arcs; /邻接矩阵int vexnum,arcnum; /图的当前顶点数和弧数G
2、raphKind kind; /图的种类标志MGraph;MGraph G;/-队列的定义-typedef struct QNodeint data;struct QNode *next;QNode,*QueuePtr;typedef structQueuePtr front; /队头指针QueuePtr rear; /队尾指针LinkQueue;LinkQueue Q;int visitedMAX_VERTEX_NUM;void VisitFunc(int v)printf(%d ,G.vexsv);int FirstAdjVex(MGraph G, int v)int j;for(j=0;
3、jdata=v;Q.rear+;void InitQueue(LinkQueue &Q) /至空辅助队列Q.front=Q.rear;void DeQueue(LinkQueue &Q,int &v) /队头元素出队并置为 vv=Q.front-data;Q.front+;int QueueEmpty(LinkQueue Q)if(Q.front=Q.rear)return 0;elsereturn 1;void Visit(int v)printf(%d ,v);void BFS(MGraph G)int v,w;for(v=0;vnext=NULL;int i,choose;Creat();jiemian();