资源简介
C语言课程实验报告,图的深度遍历与广度遍历程序源代码,在Visual C++ 6.0上已经通过
![](http://www.nz998.com/pic/50294.jpg)
代码片段和文件信息
// 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
相关资源
- C流程图生成器,用C语言代码 生成C语
- 将图片转换为C语言数组的程序
- 电子时钟 有C语言程序,PROTEUS仿真图
- 用C语言进行数字图像处理
- Wi-Fi IoT智能家居套件-Hi3861(原理图
- Qt画图工具源码(qgraphics draw)
- Qt 实现心电图
- Qt实现 屏幕截图
- 使用QWT库实现接收串口数据,并根据
- 使用wxWidgets进行跨平台程序开发
- QT视频播放器(基于FFmpeg)
- ADS1263驱动程序+电路图
- 基于esp32的摄像头采集图像代码
- stm32f103c8t6开发板原理图+pcb
- 基于arduino的红绿灯程序,包附原理图
- 数据结构 图的遍历源代码
- qt处理图形
- H.264标准详细图解
- CreatBitmap图片合成源码
- 易语言png 多行多列切图
- basler相机图像采集和显示
- 交互式计算机图形学 第六版 OpenGL源代
- c++ 画图(14Qt-XPS)
- 图形学简单绘图系统
- mfc绘图大全(画直线、矩形、椭圆)
- C++调用百度地图案例
- opencv图片扫描以及校正
- MFC文档_视图_框架_模板结构体系深入
- 图像预处理五种滤波
- 思维导图(C++ Primer Plus(第六版).
评论
共有 条评论