图的基本操作及应用
- 用邻接表法创建无向图
- 以邻接表形式打印无向图
- 深度遍历无向图并打印
- 利用队列知识实现广度遍历无向图并打印
- 取各顶点在表中序号
头文件及数据
#include <iostream>
using namespace std;
#define MAX 100
图存储结构
typedef struct BNode
{
int pointPosite;
struct BNode *nextB;
int info;
}BNode;
typedef struct DNode
{
string data;
BNode *firstB;
}DNode,AdjList[MAX];
- [ ] ***邻接表的存储结构***
```cpp
typedef struct
{
AdjList vertices;
int DNum, BNum;
}TGraph;
队列的存储表示
typedef struct
{
string *base;
int front;
int rear;
}SqQueue;
队列的初始化、入队、出队、判空
void InitQueue(SqQueue &Q)
{
Q.base = new string[MAX];
if(!Q.base)
{
cout<<"内存分配失败"<<endl;
}
Q.front = Q.rear = 0;
}
void EnQueue(SqQueue &Q, string e)
{
if((Q.rear+1)%MAX