资源简介
用邻接矩阵存储图的信息 图的信息由用户输入 算法思想:1、找到度为1的顶点 将这个点删除 并把它的邻接点度数减一 反复执行此操作直到没有度为1 的顶点2、剩下的点已经在环中,找到最大的边 ,删除 3、反复执行1 2操作 直到最后找不到环路
代码片段和文件信息
#include
#include
#include
#include
#define MaxSize 30
#define Affinity 100
using namespace std;
class AdjGraph
{
public:char *vexs;
int **arcs;
int *visited*de;
int vexnumarcnum;
AdjGraph()
{
vexnum=arcnum=0;
vexs=NULL;visited=NULL;arcs=NULL;de=NULL;
}
AdjGraph(int vint a)
{
int ij;
vexnum=v;arcnum=a;de=new int[vexnum];
vexs=new char[vexnum];visited=new int[vexnum];
arcs=(int **)new int*[vexnum];
for(i=0;i {
arcs[i]=new int[vexnum];
}
for(i=0;i {
visited[i]=0;vexs[i]=‘\0‘;de[i]=0;
for(j=0;j {
if(i==j){arcs[i][j]=0;}
else{
arcs[i][j]=Affinity;}
}
}
}
~AdjGraph(){}
int posvex(char x)
{
int i=0;
for(i=0;i {
if(vexs[i]==x)
break;
}
if(i {return i;}
else
{return -1;}
}
void clearVisit()
{
int i;
for(i=0;i {
visited[i]=0;
}
}
bool CreateDUG()
{
cout<<“请输入顶点信息:“< int i=0ab;char lr;
for(i=0;i {cin>>vexs[i];}
for(i=0;i {
int w;
cout<<“输入第“< cin>>l>>r;
a=posvex(l);b=posvex(r);
cout<<“请输入该边的权重:“< cin>>w;
arcs[a][b]=w;arcs[b][a]=w;de[a]++;de[b]++;
}
return true;
}
int FirstAdj(int i)
{
int j=0;
while(j {j++;}
if(j return j;
else
return -1;
}
int SecondAdj(int iint k)//顶点下标为i的顶点相对于k的下一个顶点k为i的当前邻接顶点二者都是顶点下标
{
int j=k+1;
while(j {j++;}
if(j return j;
else
return -1;
}
void DFS(int v)
{
int w;visited[v]=1;cout< for(w=FirstAdj(v);w>=0;w=SecondAdj(vw))
{
if(!visited[w])
{DFS(w);}
}
}
void BFS(int v)
{
int uw;;
queue q1;
if(!visited[v])
{
visited[v]=1;cout< q1.push(v);
while(!q1.empty())
{
u=q1.front();
q1.pop();
for(w=FirstAdj(v);w>=0;w=SecondAdj(vw))
{
if(!visited[w])
相关资源
- 计算机图形学实验之消隐处理
- Qt5利用Qwt实现动态绘图
- 图像处理 验证码识别C++
- 求解无向图中任意两点之间的所有路
- Qt图片查看器
- 基于mfcvc++6.0的图书馆管理系统
- MFC mschart绘制曲线、饼图、柱状小程序
- C++大作业之学生管理系统图表
- 计算机图形学——立方体旋转 VC MFC
- 11个常用OpenCV+C++图像处理
- opencv计算5*5邻域方差图
- graphics.h,bios.h和libbgi.a
- 图像处理 FFT快速傅里叶变换 C代码
- MFC的·绘图代码,模仿CAD的界面是我找
- 基于linux下的图像缩小 c语言
- 将彩色图片转换为灰度图片mfc实现
- 对图像进行LZW编码
- qt qml c++ 折线图
- C语言读取BMP文件
- C++ 生成JPEG图片源代码
- 用C语言写的简洁的Dijkstra最短路径算
- 图书信息管理系统 c++
- C++编写图书管理类
- 二维区域图形裁剪
- 基于c语言的图书管理系统毕业论文
- c语言 图书管理系统87261
- bmp 图片转YUV420数组
- C语言画图程序代码
- 计算机图形学大作业 二维图形变换
- 北京邮电大学大三下计算机图形学作
评论
共有 条评论