图的邻接表的遍历以及简单路径

 
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_VERTEX_NUM 20
#define OVERFLOW 0
#define OK 1
#define TRUE 1  
#define FALSE 0 
typedef  int   Status  ;
typedef  char VertexType;
typedef  int  QElemType;
typedef struct ArcNode
{
     int adjvex;              			  //邻接点域,存储该邻点顶点对应的下标
     struct ArcNode *nextarc;			 //邻节点
     int weight;    					//权值
}ArcNode;
/*邻接表结构*/
typedef struct VNode
{
     VertexType data;	   			//顶点对应的值
     ArcNode  *firstarc;            //边表头指针指向邻顶点
}VNode,AdjList[MAX_VERTEX_NUM];

typedef struct
{
     AdjList  vertices;  
     int vexnum,arcnum;			    //顶点数,边数
}ALGraph;

/*队列结构*/

typedef struct QNode     
{  
    QElemType data;  
    struct QNode *next;  
}QNode,*QueuePtr;  

//typedef struct    
//{  
//    QueuePtr front;  //队头指针  
//    QueuePtr rear;  //队尾指针  
//}LinkQueue;  
//  
//Status InitQueue(LinkQueue Q)//构造一个空队列  
//{   
//    Q.front = Q.rear = (QueuePtr)malloc(sizeof(QNode));//队头结点  
//    if(!Q.front)  
//        exit(OVERFLOW);  
//    Q.front ->next = NULL;  
//    return OK;  
//}  
//  
//Status QueueEmpty(const LinkQueue &Q)//若队列为空,则返回TRUE,否则返回FALSE  
//{  
//    if(Q.rear == Q.front)  
//        return TRUE;  
//    return FALSE;  
//}  
//  
//Status EnQueue(LinkQueue &Q, QElemType e) //插入元素e为Q的新队尾元素
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值