神秘国度

1、神秘国度

2、实现代码

递归版本:

//神秘国度的爱情故事
#include <iostream>
using namespace std;
#define MVNum 500				    			//最大顶点数
typedef int VerTexType;						//假设顶点的数据类型为字符型 
typedef int ArcType;                 			//假设边的权值类型为整型 

//-------------图的邻接矩阵-----------------
typedef struct {
   
	VerTexType *vexs = new int[MVNum];  //顶点表
	ArcType **arcs = new int*[MVNum];	//邻接矩阵 
	int vexnum;                			//图的当前点数
}Graph;
void pp(Graph &G) {
   
	for (int i = 0; i < MVNum; i++) {
   
		G.arcs[i] = new int[MVNum];
	}
}
bool *visited = new bool[MVNum];           					//访问标志数组,其初值为"false" 
int isc, isb,tc= 0;
//int back;
//确定点v在G中的位置
int LocateVex(Graph G, VerTexType v) {
   
	for (int i = 0; i < G.vexnum; ++i)
		if (G.vexs[i] == v)
			return i;
	return -1;
}

//采用邻接矩阵表示法,创建无向网G
void CreateUDN(Graph &G) {
   
	int i, j, k;
	cout << "请输入神秘国度里村子的个数";
	cin >> G.vexnum;							//输入总顶点数,总边数
	cout << endl;

	for (int i = 0; i < G.vexnum; ++i)	//初始化点的信息
		G.vexs[i] = i;
	for (int i = 0; i < G.vexnum; ++i)		//初始化邻接矩阵,边的权值均置为0
		for (int j = 0; j < G.vexnum; ++j)
			G.arcs[i][j] = 0;

	cout << "输入边依附的顶点,如a b" << endl;
	for (k = 0; k < G.vexnum - 1; ++k) {
   								//构造邻接矩阵 
		VerTexType v1, v2;
		cout << "请输入第" << (k + 1) << "条边依附的顶点:";
		cin >> v1 >> v2;										//输入一条边依附的顶点及权值
		i = LocateVex(G, v1);  j 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值