资源简介
C语言课程实验报告,图的深度遍历与广度遍历程序源代码,在Visual C++ 6.0上已经通过
代码片段和文件信息
// Graph0523.cpp: implementation of the CGraph0523 class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “Graph0523.h“
#include “userdef.txt“
#include
#include
#include
#include
#define INFINITY INT_MAX
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CGraph0523::CGraph0523()
{
}
CGraph0523::~CGraph0523()
{
}
Status CGraph0523::CreateGraph(Graph &G)
{
int Incfoijwab;
char v1[2]v2[2];
FILE *fp=fopen(“c.txt““r“);
//输入图的顶点数
fscanf(fp“%d“&G.vexnum);
//输入图的弧条数
fscanf(fp“%d“&G.arcnum);
//输入图的弧信息(0表示无1表示有)
fscanf(fp“%d“&Incfo);
for(i=0;i {
//依次输入顶点值
fscanf(fp“%s“&G.vexs[i]);
}
//G.vexs[G.vexnum]=‘\0‘;
for(i=0;i {
for(j=0;j {
G.arcs[i][j].adj=INFINITY;
}
}
for(i=0;i {
//依次输入弧的两个顶点和权值(空格隔开)
fscanf(fp“%s %s %d“&v1&v2&w);
a=Locatevexs(Gv1);
b=Locatevexs(Gv2);
G.arcs[a][b].adj=G.arcs[b][a].adj=w;
}
fclose(fp);
return OK;
}
int CGraph0523::Locatevexs(Graph G char v[])
{
for(int i=0;i {
if(G.vexs[i]==v[0])
{
return i;
}
}
printf(“数组中没有此项!\n“);
return 0;
}
int CGraph0523::FirstAdjVex(Graph G int v1)
{
int i;
for(i=0;i {
if(G.arcs[v1][i].adj!=INFINITY)
{
return i;
}
}
return -1;
}
int CGraph0523::NextAdjVex(Graph G int v1 int w1)
{
int i;
for(i=w1+1;i {
if(G.arcs[v1][i].adj!=INFINITY)
{
return i;
}
}
return -1; //此处不可为0
}
int Visited[MAX_SIZE];
void (*visitFunc)(char v);
void CGraph0523::DFSTraverse(Graph G void (__cdecl *visit)(char))
{
int i;
visitFunc=visit;
for(i=0;i {
Visited[i]=0;
}
for(i=0;i {
if(0==Visited[i])
{
DFS(Gi);
}
}
}
void CGraph0523::DFS(Graph G int v)
{
int w;
Visited[v]=TRUE;
visitFunc(G.vexs[v]);
for(w=FirstAdjVex(Gv);w>=0;w=NextAdjVex(Gvw))
{
if(!Visited[w])
{
DFS(Gw);
}
}
}
void CGraph0523::MiniSpanTree_PRIM(Graph &G char u)
{
int kij;
closedge cd;
k=Locate(Gu);
for(j=0;j
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 105 2011-04-17 16:28 图的深度和广度遍历\c.txt
文件 17125 2011-05-13 10:47 图的深度和广度遍历\Debug\Graph0523.obj
文件 204860 2011-05-13 10:47 图的深度和广度遍历\Debug\LAB07.exe
文件 253836 2011-05-13 10:47 图的深度和广度遍历\Debug\LAB07.ilk
文件 7660 2011-05-13 10:34 图的深度和广度遍历\Debug\LAB07.obj
文件 203608 2011-04-25 16:20 图的深度和广度遍历\Debug\LAB07.pch
文件 492544 2011-05-13 10:47 图的深度和广度遍历\Debug\LAB07.pdb
文件 1769 2011-04-25 16:20 图的深度和广度遍历\Debug\StdAfx.obj
文件 50176 2011-05-13 11:00 图的深度和广度遍历\Debug\vc60.idb
文件 61440 2011-05-13 10:47 图的深度和广度遍历\Debug\vc60.pdb
文件 5961 2011-05-13 10:47 图的深度和广度遍历\Graph0523.cpp
文件 1639 2011-05-13 10:34 图的深度和广度遍历\Graph0523.h
文件 1214 2011-05-13 10:30 图的深度和广度遍历\LAB07.cpp
文件 4718 2011-04-25 16:42 图的深度和广度遍历\LAB07.dsp
文件 535 2011-04-25 16:19 图的深度和广度遍历\LAB07.dsw
文件 50176 2011-05-13 16:32 图的深度和广度遍历\LAB07.ncb
文件 48640 2011-05-13 16:32 图的深度和广度遍历\LAB07.opt
文件 244 2011-05-13 10:53 图的深度和广度遍历\LAB07.plg
文件 1202 2011-04-25 16:19 图的深度和广度遍历\ReadMe.txt
文件 292 2011-04-25 16:19 图的深度和广度遍历\StdAfx.cpp
文件 769 2011-04-25 16:19 图的深度和广度遍历\StdAfx.h
文件 339 2011-04-01 10:51 图的深度和广度遍历\userdef.txt
目录 0 2011-06-17 18:46 图的深度和广度遍历\Debug
目录 0 2011-06-17 18:46 图的深度和广度遍历
----------- --------- ---------- ----- ----
1408852 24
相关资源
- VC/MFC实现简单的Http服务器可访问图片
- 计算机图形学教程第二版实验生成“
- MFC画二维动态图表
- 汉诺塔的C语言可视化实现使用EasyX图
- C语言 小波变换 图像 去噪 源代码
- 计算机图形学图形的区域填充
- 计算机图形学正十二面体旋转
- 数字图像处理 印前输出 rip 数字加
- MFC文档视图指针相获取
- C语言C++魔兽全图源码
- c语言图书管理系统源码 c语言图书管
- 图像分割 grabcut C++版本的源码,包含
- ACM竞赛常用算法及代码
- mysql 将图片以二进制格式存储到数据
- 基于MFC图书管理系统
- 图像处理算法源代码,用C语言完成
- 图形化的最小生成树C++原代码
- C++的图书管理系统
- C++ MFC 放大和缩小图片源码
- mfc邮箱地址管理系统(c++access)
- C语言斗地主程序
- 命令行下的绘图程序
- C++宾馆管理系统
- 图像抖动的块匹配及补偿算法
- 山东大学图形学实验三:半边结构,
- 图像相似度比较
- qt+mysql 制作简易的图书管理系统
- 计算机图形学消隐实验转
- 计算机图形学实验报告
- 门禁控制系统Pretues仿真图
评论
共有 条评论