数据结构实验七 图及图的操作实验(2)
E->nextarc=adjlist[j-1].firstarc;
adjlist[j-1].firstarc=E;
}
}
创建有向网邻接表算法:
template<class T>
void Mgraph<T>::creatGraphH(T a[],int n,int e){
Edge *E;
vertexNum=n;
arcNum=e;
for (int i=0;i<vertexNum;i++)
{
adjlist[i].vex=a[i];
adjlist[i].firstarc=NULL;
}
int j,w;
for (int k=0;k<arcNum;k++)
{
cout<<"请输入第"<<k+1<<"条弧的信息(格式为:起点
";
cin>>i>>j>>w;
E=new Edge;
E->value=w;
E->adjvertex=j-1;
E->nextarc=adjlist[i-1].firstarc;
adjlist[i-1].firstarc=E;
}
}
(3)输出邻接表结果算法
template<class T>
void Mgraph<T>::printGraph(){
for (int i=0;i<vertexNum;i++)
{
Edge *p;
cout<<i<<" ";
p=adjlist[i].firstarc;
while(p)
{
cout<<p->adjvertex<<" ";
p=p->nextarc;
}
cout<<endl;
} 终点 权值)
数据结构实验七 图及图的操作实验
}
测试结果粘贴如下:
void main()
{
int a[5]={1,2,3,4,5};
Mgraph<int> graph1(a,5,5);
graph1.printGraph();
int visited[5]={0};
graph1.DFS(2,visited);
}
3、图的遍历递归算法
(1)(存储结构为邻接表)深度优先遍历算法
递归算法:
template<class T>
void Mgraph<T>::DFS(int v,int visited[]){
if(v>vertexNum){ cout<<"顶点数处错误"<<endl; exit(0);}
Edge *p;
int j;
cout<<adjlist[v].vex<<" ";
visited[v]=1;
p=adjlist[v].firstarc;
while (p!=NULL) //依次搜索顶点v的邻接点j {
j=p->adjvertex;
if (visited[j]==0) DFS(j,visited);
p=p->nextarc;
数据结构实验七 图及图的操作实验
}
}
测试结果粘贴如下:
有向网的测试结果:
无向网的测试结果:
数据结构实验七 图及图的操作实验
(2)广度优先遍历算法
非递归算法
template <class T>
void Graph<T>::BFS(int v,int visited[]){
if (v>vertexNum){ cout<<"元素不存在!"<<endl; exit(0);} /*构造队列*/
int front=-1;
int rear=-1;
int Queue[MaxSize];
//////////////////
cout<<vertex[v]<<" ";
visited[v]=1;
Queue[++rear]=v;
while (front!=rear)
{
v=Queue[++front]; //将队头元素出队并送到v中
for (int j=0; j<vertexNum; j++)
if (arc[v][j]==1 && visited[j]==0 ){
cout<<vertex[j]<<" ";
visited[j]=1;
Queue[++rear]=j;//进队
}
}
}
测试结果粘贴如下:
void main(){
int a[5]={1,2,3,4,5};
Mgraph<int> graph1(a,5,5);
graph1.printGraph();
int visited[5]={0};
graph1.BFS(2,visited);
}
有向网的测试结果:
数据结构实验七 图及图的操作实验
无向网的测试结果:
三、 实验心得(含上机中所遇问题的解决办法,所使用到的编程技巧、创新
点及编程的心得)
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




