建立一個圖并進行深度優先遍歷
(編譯,組建都沒有錯,執行的時候出現的是一些亂碼!求幫助。)
#include<iostream>
using namespace std;
const int MaxSize=4;
class MGraph
{
public:
MGraph(char a[],int n,int e);
void DFSTraverse(int v);
private:
char vertex[MaxSize];
int arc[MaxSize][MaxSize];
int vertexNum,arcNum;
};
MGraph::MGraph(char a[], int n, int e)
{
vertexNum=n; arcNum=e;
int i,j,k;
for( i=0;i<vertexNum;i++)
vertex[i]=a[i];
for(i=0;i<vertexNum;i++)
{ for(j=0;j<vertexNum;j++)
arc[i][j]=0;}
for(k=0;k<arcNum;k++)
{
cin>>i>>j;
arc[i][j]=1;
arc[j][i]=1;
}
}
void MGraph::DFSTraverse(int v)
{ int i,j;
int visited[MaxSize]={0};
for(i=0;i<MaxSize;i++)
visited[i]=0;
cout<<vertex[v];
visited[v]=1;
for(j=0;j<vertexNum;j++)
if(arc[v][j]==1 && visited[j]==0)DFSTraverse(j);
}
int main()
{ char q[4]={'a','b','c','d'};
int w,i;
/* cout<<"請輸入資料:"<<endl;
for(i=0;i<4;i++)
{
cin>>w;
q[i]=w;
}*/
MGraph s(q,4,4);
s.DFSTraverse(0);
//return 0;
}
uj5u.com熱心網友回復:
是不是死回圈了?visited陣列應該是公共的uj5u.com熱心網友回復:
抱歉,我不太懂,可不可以再說得詳細一點,我比較笨。。拜托uj5u.com熱心網友回復:
你的運行結果是什么?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/118566.html
標籤:數據庫及相關技術
上一篇:scrapy筆記-通用配置
