深度优先搜寻递归与非递归,广度优先搜索非递归
//图遍历
#include<iostream>
#include<malloc.h>
#include<cstdlib>
#include<cstring>
using namespace std;
#define MAX_INFO 10
#define MAX_VERTEX_NUM 20
#define STACK_INIT_SIZE 100// 存储空间初始分量
#define STACKINCREMENT 10//存储空间分配增量
#define OK 1
#define TRUE 1
#define ERROR 0
#define FALSE 0
typedef int SElemType;
typedef int QElemType;
typedef char VertexType;
typedef int Status;
typedef char InfoType;//信息类型
typedef enum{unvisited,visited}VisitIf;
int Visited[MAX_VERTEX_NUM];//访问标志数组
Status (*VisitFunc)(VertexType e);//函数变量
VertexType Edge[2*MAX_VERTEX_NUM];
VertexType Path[MAX_VERTEX_NUM];
int IncInfo;
typedef struct//栈结构
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
typedef struct QNode//单链队列
{
QElemType data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct//队列头结点
{
QueuePtr front;
Qu