邻接矩阵表示法创建的有向网,并将该网的顶点表和邻接矩阵进行存盘读盘处理,最后用迪杰斯特拉算法求该有向网任意两结点的最短路径

本文介绍了如何用邻接矩阵表示有向网,并详细阐述了顶点表和邻接矩阵的存盘读盘操作。通过一个具体的实训任务,展示了运用迪杰斯特拉算法在C语言中解决数据结构问题的过程,旨在巩固和理解数据结构知识。
摘要由CSDN通过智能技术生成

邻接矩阵表示法创建的有向网,并将该网的顶点表和邻接矩阵进行存盘读盘处理,最后用迪杰斯特拉算法求该有向网任意两结点的最短路径

我现在是大一刚刚结束,这个小项目是我们这学期数据结构的实训任务之一,如有不足,望大家指正。一学期的网课结束了,但感觉学习数据结构这门专业课挺无聊挺吃力的,感觉网课让我懈怠了不少,接下来我会不断的写博客,关于C语言程序设计基础,和数据结构的相关要点讲解和知识点,希望在这个暑假可以和大家共同进步。卑微求赞,求赞,求赞…
其中存盘读盘的文件路径根据个人进行修改。

#include <iostream>
using namespace std;
#include <cstdio>
#include <fstream>
#include<cstring>
#include<cstdlib>
#include<string>
#define MVNum 100
#define MaxInt 32767
#define error 0
#define OK 1
typedef char VerTexType;
typedef int ArcType;
typedef int status;

typedef struct
{
   
	VerTexType vexs[MVNum];
	ArcType arcs[MVNum][MVNum];
	int vexnum, arcnum;
}AMGraph;

int LocateVex(AMGraph G, VerTexType x)/*求顶点位置函数*/
{
   
	int j = error, k;
	for (k = 0; k<G.vexnum; k++)
		if (G.vexs[k] == x)
		{
   
			j = k;
			break;
		}
	return(j);
}

status CreateUDN(AMGraph &G)
{
   
	void Cunpan(AMGraph G);
	int i, j, k, w;
	VerTexType v1, v2;
	printf("请输入有向网的总顶点数和总边数(用空格隔开):\n");
	cin >> G.vexnum >> G.arcnum;
	printf("依次输入顶点的名称(如a):\n");

	for (i = 0; i<G.vexnum; ++i)
	{
   
		printf("请依次输入第%d个顶点:", i + 1);
		cin >> G.vexs[i];
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值