C语言有关图的课程设计Word文档下载推荐.docx
- 文档编号:22960470
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:15
- 大小:16.08KB
C语言有关图的课程设计Word文档下载推荐.docx
《C语言有关图的课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言有关图的课程设计Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
//±
¹
¤
×
÷
Ö
Õ
ë
classGraph
public:
Graph(inta[],intn,inte);
~Graph();
voidPrintGraph();
voidInsertArc(inta,intb);
voidInsertVertex(intdate);
boolDeleteArc(inta,intb);
voidDeleteVertex();
boolIsconect();
voidScprint();
voidDFS(intv,inta[]);
voidDFS1(intv,inta[],intb[]);
voidNDFS(inti,intvisited[],intb[]);
voidscPrint(intb[]);
voidBFS(intv,intvisisted[]);
voidBFS();
private:
VertexNodeadjlist[MaxSize];
intvertexNum,arcNum;
//////////////////////////////////////////////////////////////////////////
Graph:
:
Graph(inta[],intn,inte)
vertexNum=n;
arcNum=e;
for(i=0;
i<
vertexNum;
i++)//½
³
õ
Ê
»
¯
{
adjlist[i].date=a[i];
adjlist[i].firstedge=NULL;
adjlist[i].nfirstedge=NULL;
}
for(k=0;
k<
arcNum;
k++)//±
Ã
cin>
>
i>
j;
s=newArcNode;
s->
adjivex=j;
s->
next=adjlist[i].firstedge;
adjlist[i].firstedge=s;
adjivex=i;
next=adjlist[j].nfirstedge;
adjlist[j].nfirstedge=s;
}
~Graph()
i++)
while(adjlist[i].firstedge!
=NULL)
{
s=adjlist[i].firstedge;
adjlist[i].firstedge=(adjlist[i].firstedge)->
next;
deletes;
}
while(adjlist[i].nfirstedge!
s=adjlist[i].nfirstedge;
adjlist[i].nfirstedge=(adjlist[i].nfirstedge)->
}
voidGraph:
BFS(intv,intvisisted[])//¹
È
Ó
Å
Ï
é
À
ú
intQ[MaxSize],front,rear;
front=rear=-1;
structArcNode*p;
cout<
<
v<
"
;
"
adjlist[v].date<
\t"
visisted[v]=1;
Q[++rear]=v;
while(front!
=rear)
v=Q[++front];
p=adjlist[v].firstedge;
while(p!
intw=p->
adjivex;
if(visisted[w]==0)
{
cout<
w<
adjlist[w].date<
visisted[w]=1;
Q[++rear]=j;
}
p=p->
BFS()
intn=vertexNum;
int*visited=newint[n];
for(intw=0;
n;
w++)
visited[w]=0;
if(visited[w]==0)
BFS(w,visited);
delete[]visited;
InsertArc(inta,intb)
arcNum++;
s=newArcNode;
adjivex=b;
next=adjlist[a].firstedge;
adjlist[a].firstedge=s;
adjivex=a;
next=adjlist[b].nfirstedge;
adjlist[b].nfirstedge=s;
InsertVertex(intdata)
{cout<
adjlist[vertexNum].date=data;
adjlist[vertexNum].firstedge=NULL;
adjlist[vertexNum].nfirstedge=NULL;
vertexNum++;
boolGraph:
DeleteArc(inta,intb)
s=adjlist[a].firstedge;
if(s->
adjivex==b)
adjlist[a].firstedge=s->
deletes;
arcNum--;
else
while(s->
next!
if(s->
next->
s->
next=s->
deletes->
arcNum--;
s=s->
s=adjlist[b].nfirstedge;
adjivex==a)
adjlist[b].nfirstedge=s->
returntrue;
returntrue;
returnfalse;
DeleteVertex()
vertexNum-1;
DeleteArc(w,vertexNum-1);
while(adjlist[vertexNum-1].firstedge!
s=adjlist[vertexNum-1].firstedge;
adjlist[vertexNum-1].firstedge=(adjlist[vertexNum-1].firstedge)->
while(adjlist[vertexNum-1].nfirstedge!
s=adjlist[vertexNum-1].nfirstedge;
adjlist[vertexNum-1].nfirstedge=(adjlist[vertexNum-1].nfirstedge)->
vertexNum--;
PrintGraph()
vertexNum<
¸
arcNum<
Ì
endl;
cout<
i<
adjlist[i].date<
;
s=adjlist[i].firstedge;
while(s!
cout<
-->
s->
adjivex<
s=s->
next;
Isconect()
i++)
visited[i]=0;
for(i=0,j=0;
if(visited[i]==0)
DFS(i,visited);
j++;
if(j>
1)
²
Ç
Á
¬
Í
¨
else
returnfalse;
DFS(intv,intvisited[])
adjlist[v].date;
visited[v]=1;
p=adjlist[v].firstedge;
while(p!
k=p->
if(visited[k]==0)DFS(k,visited);
p=p->
p=adjlist[v].nfirstedge;
DFS1(intv,intvisited[],inta[])
if(visited[k]==0)DFS1(k,visited,a);
a[j++]=v;
NDFS(intv,intvisited[],intb[])
if(visited[k]==0)NDFS(k,visited,b);
b[j++]=v;
//cout<
v;
scPrint(intb[])
º
£
b[i]<
s=adjlist[b[i]].firstedge;
for(intt=0;
t<
t++)
if(s->
adjivex==b[t])
{cout<
b[t]<
Scprint()
intn=vertexNum;
int*a=newint[n];
int*b=newint[n];
¿
·
b[i]=-1;
a[i]=-1;
DFS1(i,visited,a);
{visited[i]=0;
for(intw=n-1;
w>
=0;
w--)
j=0;
w;
//cout<
a[w];
if(visited[a[w]]==0)
NDFS(a[w],visited,b);
scPrint(b);
delete[]a;
/////////////////////////////////////////////////////////////////
intmain()
inta[4]={9,7,6,5};
intb[4]={0,0,0,0};
intm,n,data,z,x;
Graphmp(a,4,2);
mp.PrintGraph();
//mp.BFS();
mp.DeleteVertex();
mp.PrintGraph();
cin>
m>
mp.InsertArc(m,n);
data;
mp.InsertVertex(data);
z>
x;
mp.DeleteArc(z,x);
mp.Isconect();
mp.Scprint();
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 有关 课程设计