DFS代码框架:
 1 int a[105][105],v[105],n;
 2 void DFS(int x)                            //从x进行深搜
 3 {
 4     v[x]=1;                                //将顶点x标记为已访问
 5     for(int i=1;i<=n;i++)                  //对其他顶点i进行访问
 6     {                                      //i为x的邻接顶点,且未被访问
 7         if(a[x][i]==1&&!v[i])
 8         {
 9             递归搜索前的准备工作;
10             DFS(i);                        //将i作为顶点进行深搜
11             回退(结束条件);
12             杂项;
13         }
14     }
15 }        

BFS代码框架:

 1 int a[105][105],v[105],n;
 2 void BFS(int x)//从点x进行广搜
 3 {
 4     v[x]=1;//将顶点x标记为已访问
 5         将x入队;
 6     while(队列不为空)
 7     {
 8         int k;//取出队首元素,设为k
 9         for(int i=0;i<n;i++)//对其他顶点i
10         {
11             if(a[k][i]==1&&!v[i])//i为k的邻接顶点,且未被访问过
12             {
13                 将顶点i标记为已访问过;
14                 将顶点i入队;
15             }
16         }//end of for
17     }//end of while
18 }//end of BFS