#include
#include
#include
using namespace std;
void DFS(int a[100][100],int i ,int n)
{
int m;
stack dfs;
dfs.push(i);//进栈 push(),在栈顶(数组的尾部)添加指定的元素,并返回新数组的长度。
//出栈 pop(),删除栈顶(数组的尾部)的一个元素,并且返回它的值。
int check[100]={0};
while (!dfs.empty())
{
int temp=dfs.top();
dfs.pop;
if(check[temp] == 0)
{
cout<<0<<" ";
check[temp]=1;
}
for(m=n-1;m>=0;m--)
{
if(a[temp][m]==m)
{
dfs.push(m);
a[remp][m]=2;
}
}
for(m=0;m
{
a[m][temp]=0;
}
}
}
/不能用vector容器初始化queue
queue常用函数:
push() 在队尾插入一个元素
pop() 删除队列第一个元素
size() 返回队列中元素个数
empty() 如果队列空则返回true
front() 返回队列中的第一个元素
back() 返回队列中最后一个元素/
void WFS(int a[100][100],int i,int n)
{
int m=0;
queue
int check[100]={0};
while(!wfs.empty())
{
int temp=wfs.front();
wfs.pop();
}
if(check[temp] == 0)
{
cout<<0<<" ";
check[temp]=1;
}
}
for(int m=0; m
{
if(a[temp][m]==1)
{
wfs.push(m);