资源简介
D算法的C++实现,通信网理论中的最短路径算法。求出最短路径及其权值

代码片段和文件信息
#include “iostream.h“
#include “malloc.h“
#define Max 20
#define INFINITY 100
struct MGraph
{
int vexnumarcnum;
int **info;
}MGraph;
int Locate(char str[]int nchar ch)
{
for(int i=0;i if(ch==str[i]) return i;
return -1;
}
void CreateArray(char str[]int n)
{
int kijarweight;
char ht;
ar=MGraph.arcnum;
MGraph.info=(int **)malloc(n*sizeof(int *));
for(i=0;i {
MGraph.info[i]=(int*)malloc(sizeof(int));
}
for(i=0;i for(j=0;j MGraph.info[i][j]=INFINITY;
int graph_type;
cout<<“输入为:0:无向图 1:有向图“< cin>>graph_type;
if(graph_type==0)
{
cout<<“输入图中的弧和权值:“< for(i=0;i {
cin>>h>>t>>weight;
j=Locate(strnt);
k=Locate(strnh);
while(j<0||k<0)
{
cout<<“有的顶点不存在请重新输入!“< cin>>t>>h;
j=Locate(strnt);
k=Locate(strnh);
}
MGraph.info[k][j]=weight;
MGraph.info[j][k]=weight;
}
}
else
{
cout<<“输入权值矩阵“< for(i=0;i for(j=0;j {
cin>>weight;
MGraph.info[i][j]=weight;
}
}
}
void ShortPath(char chchar string[]int m)
{
int ijminvkt;
int *final**q*D;
k=Locate(stringmch);
D=new int[MGraph.vexnum];
q=(int **)malloc(MGraph.vexnum*sizeof(int *));
for(i=0;i q[i]=(int*)malloc(sizeof(int));
final=new int[m];
for(i=0;i {
final[i]=0;D[i]=MGraph.info[k][i];
for(j=0;j if(D[i] {
q[i][k]=1;q[i][i]=1;
}
}
D[k]=0;final[k]=1;
for(i=1;i {
min=INFINITY;
for(j=0;j if(!final[j])
if(D[j] final[v]=1;
for(int w=0;w if(!final[w] && (min+MGraph.info[v][w]) {
D[w]=min+MGraph.info[v][w];
for(t=0;t q[w][t]=q[v][t];
q[w][w]=1;
}
}
for(i=0;i {
if(i!=k)
{
cout< if(D[i] {
for(int j=0;j if(q[i][j]&&j!=i)
cout< cout<
cout<<“长度:“< }
else
cout<<“不存在!“< }
}
}
int main()
{
int vaik;
char vexs[Max]ch;
cout<<“输入顶点数:“;cin>>v;
cout<<“输入弧数:“;cin>>a;
MGraph.arcnum=a;MGraph.vexnum=v;
cout<<“输入顶点的名字:“;
for(i=0;i cin>>vexs[i];
CreateArray(vexsv);
cout<<“输入一个顶点:“;
cin>>ch;
k=Locate(vexsvch);
while(k<0)
{
cout<<“输入有误请重新输入:“;
cin>>ch;
k=Locate(vexsvch);
}
ShortPath(chvexsv);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2798 2012-04-02 10:27 d_algorithm\d.cpp
文件 11794 2012-04-02 10:27 d_algorithm\Debug\d.obj
文件 0 2012-04-02 10:27 d_algorithm\Debug\d.sbr
文件 66560 2012-04-02 10:27 d_algorithm\Debug\d_algorithm.bsc
文件 94270 2012-04-02 10:27 d_algorithm\Debug\d_algorithm.exe
文件 58304 2012-04-02 10:27 d_algorithm\Debug\d_algorithm.ilk
文件 525312 2012-04-02 10:27 d_algorithm\Debug\d_algorithm.pdb
文件 50176 2012-04-02 10:47 d_algorithm\Debug\vc60.idb
文件 61440 2012-04-02 10:27 d_algorithm\Debug\vc60.pdb
文件 4081 2012-04-02 09:29 d_algorithm\d_algorithm.dsp
文件 530 2012-04-01 11:33 d_algorithm\d_algorithm.dsw
文件 41984 2012-04-02 11:14 d_algorithm\d_algorithm.ncb
文件 48640 2012-04-02 11:14 d_algorithm\d_algorithm.opt
文件 1022 2012-04-02 10:27 d_algorithm\d_algorithm.plg
目录 0 2012-05-11 08:52 d_algorithm\Debug
目录 0 2012-05-11 08:52 d_algorithm
----------- --------- ---------- ----- ----
966911 16
相关资源
- Proteus仿真:PID算法输出.rar
- PID算法.c
- c++迷宫最短路径寻径算法
- 交通咨询系统最短路径最小花费
- c++实现图最短路径
- MFC可视化_迷宫算法_最短路径
- 最短路径的篇论文及必经节点的遗传
- 迷宫MFC实现最短路径,有简单界面迷
- vc 最短路径演示程序源代码
- MFC 图数据结构 最短路径
- 一个chord算法的c++实现
- 最短路径用Dijkstra算法实现的MFC编程
- VS2008环境下C++实现Dijkstra算法,查找有
- SRAD算法C++实现
- 求图中任意两点的最短路径和全部路
- c++ mfc 校园导航 最短路径计算
- chord算法的源代码
- Dijskra算法 floyd算法
- c++数据结构课程设计-校园最短路径采
- QT c++ dijkstra最短路径工程源码
- 校园导游系统c语言代码及课程设计文
- 单台AGV最短路径规划,两台AGV路径自
- 基于最短路径的物流分配方法
- 最短路径查寻
- 公交车查询系统可换乘 MFC 自己做的
- Floyd最短路径程序(MFC)
- C语言实现最短路径规划
- MFC校园网最短路径设计
- C语言-景区简易导航系统求最短路径
- 最短路径算法—Bellman-Ford(贝尔曼-福
评论
共有 条评论