广度优先搜索算法c语言,图形的广度优先搜寻法

/* ======================================== */

/*    图形的广度优先搜寻法                  */

/* ======================================== */

#include 

#define MAXQUEUE 10               /* 伫列的最大容量       */

struct node                       /* 图形顶点结构宣告     */

{

int vertex;                    /* 顶点资料             */

struct node *nextnode;         /* 指下一顶点的指标     */

};

typedef struct node *graph;       /* 图形的结构新型态     */

struct node head[9];              /* 图形顶点结构数组     */

int visited[9];                   /* 遍历记录数组         */

int queue[MAXQUEUE];              /* 伫列的数组宣告       */

int front = -1;                   /* 伫列的前端           */

int rear = -1;                    /* 伫列的后端           */

/* ---------------------------------------- */

/*  建立图形                                */

/* ---------------------------------------- */

void creategraph(int *node,int num)

{

graph newnode;                 /* 新顶点指标           */

graph ptr;

int from;                      /* 边线的起点           */

int to;                        /* 边线的终点           */

int i;

for ( i = 0; i 

{

from = node[i*2];           /* 边线的起点           */

to = node[i*2+1];           /* 边线的终点           */

/* 建立新顶点记忆体 */

newnode = ( graph ) malloc(sizeof(struct node));

newnode->vertex = to;       /* 建立顶点内容         */

newnode->nextnode = NULL;   /* 设定指标初值         */

ptr = &(head[from]);        /* 顶点位置             */

while ( ptr->nextnode != NULL ) /* 遍历至链表尾     */

ptr = ptr->nextnode;         /* 下一个顶点       */

ptr->nextnode = newnode;        /* 插入结尾         */

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值