目录
实验目的及要求
(1)掌握图的邻接矩阵的表示方法
(2)掌握图的深度优先遍历、广度优先遍历算法的实现
(3)加深对图的理解,逐步培养解决实际问题的编程能力
实验原理
图的邻接矩阵和深度优先遍历、广度优先遍历算法
图的邻接表示
实验环境(使用的软件)
Visual studio 2019
实验方案设计
(1)建立邻接矩阵表示的图
(2)实现邻接矩阵表示的图的深度优先遍历、广度优先遍历
实验过程(实验步骤、记录、数据、分析)
数据:
SeqList.h
#ifndef SEQLIST_H_INCLUDED
#define SEQLIST_H_INCLUDED
#include <iostream>
#include <stdlib.h>
using namespace std;
class SeqList {
protected:
DataType* list;
int maxSize;
int size;
public:
SeqList(int max = 0);
~SeqList();
int Size(void) const;
void Insert(const DataType& item, int i);
DataType Delete(const int i);
DataType GetData(int i) const;
};
SeqList::SeqList(int max) {
maxSize = max;
size = 0;
list = new DataType[maxSize];
}
SeqList::~SeqList() {
delete[]list;
}
int SeqList::Size(void) const {
return size;
}
void SeqList::Insert(const DataType& item, int i) {
if (size == maxSize) {
cout << "The SeqList is full." << endl;
exit(0);
}
if (i<0 || i>size) {
cout << "The inserted parameter is invalid." << endl;
exit(0);
}
for (int j = size; j > i; j--) list[j] = list[j - 1];
list[i] = item;
size++;
}
DataType SeqList::Delete(const int i) {
if (size == 0) {
cout << "The SeqList is empty!" << endl;
exit(0);
}
if (i<0 || i&g