代码任意输入数字进行测试,注意点从1开始输入
#include<iostream>
#include<queue>
#include<cstdlib>
using namespace std;
#define inf 99999
#define maxsize 10
queue<int> seq;
int edge[maxsize][maxsize];
int nv,ne;
int visited[maxsize];
int init()//初始化
{
for(int i=1;i<=nv;i++)
for(int j=1;j<=nv;j++)
if(i==j)
edge[i][j]=0;
else
edge[i][j]=inf;
};
void tozero()
{
memset(visited,0,sizeof(visited));
}
int creat()//建图
{
init();
int a,b,weigh;
for(int i=1;i<=ne;i++)
{
cin>>a>>b>>weigh;
edge[a][b]=edge[b][a]=weigh;
}
}
void DFS(int t,int ope)//深度优先搜索 ope控制是否打印刚搜到的点,1是打印
{
if(!visited[t])
{
if(ope)
cout<<t<<" ";
visited[t]=1;
for(int i=1;i<=nv;i++)
if(edge[t][i]!=inf)
DFS(i,ope);
}
}
void BFS(int t)//广度优先搜索
{
int tmp;
seq.push(t);
visited[t]&#