91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-23
  • 語言: C/C++
  • 標(biāo)簽: Floyd??最短路徑??

資源簡介

用C++ 語言編寫 用Floyd算法求有向圖中任意兩點間的最短路徑 由用戶輸入頂點和有向邊的信息

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#define?MaxSize?30
#define?Affinity?200
using?namespace?std;??
class?AdjGraph
{
public:char?*vexs;
???int?**arcs;
???int?*visited;int?**adj;int?**path;
???int?vexnumarcnum;
???AdjGraph()
???{
???vexnum=arcnum=0;
???vexs=NULL;visited=NULL;arcs=NULL;adj=NULL;path=NULL;
???}
???AdjGraph(int?vint?a)
???{
???int?ij;
???vexnum=v;arcnum=a;
???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‘;
???for(j=0;j ???{
???arcs[i][j]=Affinity;
???}
???}
????adj=(int?**)new?int*[vexnum];
???for(i=0;i ???{
???adj[i]=new?int[vexnum];
???}
????path=(int?**)new?int*[vexnum];
???for(i=0;i ???{
???path[i]=new?int[vexnum];
???}
???
???}
???~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<<“請輸入該邊的權(quán)重:“< ???cin>>w;
???arcs[a][b]=w;
???}
???return?true;
???}
???int?FirstAdj(int?i)
???{
???int?j=0;
???while(j ???{j++;}
???if(j ???return?j;
???else
???return?-1;
???}?
???int?SecondAdj(int?iint?k)//頂點下標(biāo)為i的頂點相對于k的下一個頂點k為i的當(dāng)前鄰接頂點二者都是頂點下標(biāo)
???{
???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])??
?

評論

共有 條評論