一、实验目的及要求
1理解图的抽象数据类型的定义,及在C语言环境中的表示方法。
2理解图的基本操作的算法,及在C语言环境中一些主要基本操作的实现。
3在C语言环境下实现图的应用操作:
①使用邻接矩阵存储结构,实现无向网的创建和输出。
②利用基本操作集,实现采用邻接表表示的无向图的非递归的广度优先遍历算法。
二、实验内容
1理解图的抽象数据类型的定义,及在C语言环境中的表示方法。
2理解图的基本操作的算法,及在C语言环境中一些主要基本操作的实现。
3在C语言环境下实现图的应用操作:
①使用邻接矩阵存储结构,实现无向网的创建和输出。
②利用基本操作集,实现采用邻接表表示的无向图的非递归的广度优先遍历算法。
二、实验内容
经过对实验目的及要求的分析,本实验实现了基于邻接矩阵存储的无向网的创建、基于邻接表存储的无向图的广度优先遍历算法的编码。
三、代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<queue>
using namespace std;
const int maxnode = 1000;
struct m_node
{
int maps[maxnode][maxnode];
int n, m;
void init()
{
memset(maps,-1,sizeof maps);
n = m = 0;
}
void create()
{
scanf("%d%d",&n, &m);
for(int i = 0 ; i <= n ; ++ i) maps[i][i]=0;
for(int i = 0 ; i < m ; ++ i)
{
int a, b, c;