(数据结构)建立图的或邻接表存储表示,计算顶点的度(入度、出度)并实现深度优先或广度优先对图进行遍历。(编译器:VS)

头文件:‘1.h’

#include <stdio.h>
#include <iostream>
#include <malloc.h>
#include <string.h>
#define TRUE  1
#define FALSE 0
#define ERROR 0
typedef int Status;
using namespace std;

头文件:‘2.h’


#include "1.h"
#define  MAX_VERTEX 20
typedef  char  VertexType;
typedef struct ArcNode
{
	int adjvex;
	struct ArcNode *nextarc;
}ArcNode;
typedef struct VNode
{
	VertexType data;
	ArcNode *firstarc;
}VNode,AdjList[MAX_VERTEX];
typedef struct
{
	AdjList vertices;
	int vexnum, arcnum;
	int kind;
}ALGraph;

//队列
typedef int QElemtype;
#define MAXQSIZE 100
typedef struct
{
	QElemtype *base;
	int front;
	int rear;
}SqQueue;

头文件:‘3.h’(函数的实现)

#pragma once
#include "2.h"


Status LovateVex(ALGraph &G, VertexType v)
{
	int i;
	for (i = 0; i < G.vexnum; i++)
	{
		if (G.vertices[i].data == v)
			return i;
	}
	
}
Status CreatDG(ALGraph &G)//创建有向图
{
	VertexType v1, v2;
	int j, k;
	ArcNode *p;
	cout << "输入定点个数和边数:";
	cin >> G.vexnum >> G.arcnum;
	int i;
	cout << "输入顶点个数和边数:";
	for (i = 0; i < G.vexnum; i++)
	{
		cin >> G.vertices[i].data;
		G.vertices[i].firstarc =N
  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值