structENode{EN"> structENode{EN" />
数据结构图的基本运算代码.doc

数据结构图的基本运算代码.doc

ID:51707248

大小:41.50 KB

页数:14页

时间:2020-03-15

数据结构图的基本运算代码.doc_第1页
数据结构图的基本运算代码.doc_第2页
数据结构图的基本运算代码.doc_第3页
数据结构图的基本运算代码.doc_第4页
数据结构图的基本运算代码.doc_第5页
资源描述:

《数据结构图的基本运算代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、#include"iostream"#include"LGraph.h"#include"seqqueue.h"#include"MGraph.h"#defineINFTY1000templatestructENode{ENode(){nextArc=NULL;}ENode(intvertex,Tweight,ENode*next){adjVex=vertex;w=weight;nextArc=next;}intadjVex;Tw;ENode*nextArc;};templateclassExtLGraph:publicLGrap

2、h{public:ExtLGraph(intmSize):LGraph(mSize){}voidDFS();voidBFS();voidTopoSort(int*order);private:voidCalInDegree(int*InDegree);voidDFS(intv,bool*visited);voidBFS(intv,bool*visited);};templatevoidExtLGraph::DFS(){bool*visited=newbool[n];for(inti=0;i

3、lse;for(i=0;ivoidExtLGraph::DFS(intv,bool*visited){visited[v]=true;cout<<""<*t=a[v];t;t=t->nextArc)if(!visited[t->adjVex])DFS(t->adjVex,visited);}templatevoidExtLGraph::BFS(){bool*visit

4、ed=newbool[n];for(inti=0;ivoidExtLGraph::BFS(intv,bool*visited){SeqQueueq(Vertices());visited[v]=true;cout<<""<

5、(ENode*t=a[v];t;t=t->nextArc)if(!visited[t->adjVex]){visited[t->adjVex]=true;cout<<""<adjVex;}q.EnQueue(t->adjVex);}}templatevoidExtLGraph::CalInDegree(int*InDegree)//计算所有顶点的入度{for(inti=0;i*p=a[i];p;p=p->nextArc)InDeg

6、ree[p->adjVex]++;}templatevoidExtLGraph::TopoSort(int*order){int*InDegree=newint[n];inti,j,k,top=-1;CalInDegree(InDegree);for(i=0;i

7、[i]=j;cout<*p=a[j];p;p=p->nextArc){k=p->adjVex;InDegree[k]--;if(!InDegree[k]){InDegree[k]=top;top=k;}}}}}templateclassExtMGraph:publicMGraph{public:ExtMGraph(intmSize,constT&noedg):MGraph(mSize,noedg){}voidDFS();voidBFS();voidDFS(intv);voidBFS(intv);i

8、ntChoose(int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。