⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 short.cpp

📁 各种排序方法源码
💻 CPP
字号:
//5、	图的结构建立和最短路径算法
//问题描述:利用邻接矩阵构造图,并求出某一顶点到其余顶点的最短路径并打印输出。

#define TRUE 1    //标志
#define FALSE 0   //标志
#define Maxint 0x8fffffff   //最大整数值,不小于此值视为不连通
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>

typedef  char vnode;//顶点的名字

typedef struct
{
	vnode **vex;   //图的顶点
	int vexnum,arcnum;  //图的顶点数和弧数
	unsigned int **arc; // 图的弧
}ALGraph;
#include"locatevex.h"
#include"creat.h"
#include"print.h"
#include"shortest.h"

//-----------------------主函数----------------------------------//
void main()
{
	ALGraph *G;
	char sou[10],dest[10];
	char fi[15];
	char c,ch;
	int i;
	G=(ALGraph*)malloc(sizeof(ALGraph));
	printf(" ***-----------------------图的最短路径-------------------------------------***\n");
	printf("       班级:10010706        学号:2007302415          姓名:杨德刚\n");
    printf(" ***------------------------------------------------------------------------***\n");
	printf("              p: 求最短路径                   q: 退出                 \n");
	printf(" ***------------------------------------------------------------------------***\n");
	printf("请输入要进行的操作:");
	scanf("%c",&c);
	while(c!='q')
	{
		printf("创建图:\n");
		printf("请选择图边信息存放方式(t:三元组)(m:矩阵):");
		ch=getchar();
		scanf("%c",&ch);
		printf("请输入图信息存放文件名:");
		scanf("%s",fi);
		switch(ch)
		{
		case 't':creatGraph(G,fi);break;
		case 'm':creatGraphm(G,fi);break;
		}
		printf("顶点为:");
		for(i=0;i<G->vexnum;++i)
			printf("%s  ",G->vex[i]);
		printf("\n");
		printf("请输入起点:");
		scanf("%s",sou);
		printf("请输入终点:");
		scanf("%s",dest);
		shortestpath(G,sou,dest);
		printf(" ***-----------------------------------------------------------------------***\n");
		printf("请输入要进行的操作:");
		c=getchar();
		scanf("%c",&c);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -