資源簡介
C語言課程實驗報告,圖的深度遍歷與廣度遍歷程序源代碼,在Visual C++ 6.0上已經通過

代碼片段和文件信息
//?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
評論
共有 條評論