实现图的遍历
admin
2024-03-14 04:50:19
  1. 实现图的深度优先遍历算法
  2. 实现图的广度优先遍历算法
    //MGraph.h
    typedef enum{DG,DN,UDG,UDN} GraphKind;//图的种类 
    //弧结点结构 
    typedef struct{char vertex[20];//顶点数组int arcs[20][20];//邻接矩阵 int vexnum,arcnum;//顶点数和弧数GraphKind kind;
    }AdjMatrix;
    //图的遍历
    #include
    #include"MGraph.h"
    #include
    #define TRUE 1
    #define FALSE 0
    using namespace std;
    typedef struct Node
    {int data;struct Node* next;
    }LinkQueueNode;
    typedef struct
    {LinkQueueNode* front;LinkQueueNode* rear;
    }LinkQueue;
    int visited[20];
    int visitedBFS[20]={0};
    void DepthFirstSearch(AdjMatrix g,int v0);
    void BreadthFirstSearch(AdjMatrix g);
    int main()
    {AdjMatrix am;cout<<"请输入顶点数:";cin>>am.vexnum;if(am.vexnum>20){cout<<"输入数值过大!"<>am.vertex[i];}cout<<"请依次输入各边权值:"<>am.arcs[i][j];}}cout<<"     ";for(int i=0;ifront=(LinkQueueNode *)malloc(sizeof(LinkQueueNode));if(Q->front!=NULL){Q->rear=Q->front;Q->front->next=NULL;return(TRUE);}else  	return(FALSE);    /* 溢出!*/
    }
    int EnterQueue(LinkQueue *Q,int x)
    {  /* 将数据元素x插入到队列Q中 */LinkQueueNode *NewNode;NewNode=(LinkQueueNode *)malloc(sizeof(LinkQueueNode));if(NewNode!=NULL){NewNode->data=x;NewNode->next=NULL;Q->rear->next=NewNode;Q->rear=NewNode;return(TRUE);}else  return(FALSE);    /* 溢出!*/
    }
    int DeleteQueue(LinkQueue *Q)
    {  /* 将队列Q的队头元素出队 */LinkQueueNode *p;if(Q->front==Q->rear)return(FALSE);p=Q->front->next;Q->front->next=p->next;  /* 队头元素p出队 */if(Q->rear==p)  /* 如果队中只有一个元素p,则p出队后成为空队 */Q->rear=Q->front;  free(p);   /* 释放存储空间 */return(TRUE);	
    }
    int JudgeQueue(LinkQueue *Q)
    {if(Q->front==Q->rear){return 0;}else{return 1; }
    }
    int FindVertex(AdjMatrix g,int k)				//传入无向图G,要查找节点的位序k
    {if(k>=g.vexnum || k<0 ){return -1;}							//参数不合理直接返回ERRORint i;for(i=0;i=g.vexnum|| k<0 || m>=g.vexnum-1 || m<0)return -1;									//参数不合理直接返回ERRORint i;for(i=m+1;i

相关内容

热门资讯

南京溧水举办秦淮源头过大年活动... (来源:新华日报) 1月10日,南京市溧水区和凤镇富华果林专业合作社热闹非凡,一场“秦淮源头过...
青春接力 中非同行向未来   在中非开启外交关系70周年之际,备受期待的“中非人文交流年”正式拉开帷幕。习近平主席8日向202...
千年运河蝶变幸福河 南运河沧州城区段美景如画(资料照片)。 受访者供图  本报记者 韩梅  近日,水利部公布2025年幸...
最新或2023(历届)我爱读书...   阅读其实应该是一个非常那个让人享受的过程,大家可以在一个温暖的午后自己拿着一本自己的喜欢的书,慢...
最新或2023(历届)读书手抄...   我读书我快乐,小朋友们都知道只要是自己感兴趣的事情大家都会主动地去做,不用别人去督促你,就好像大...