资源简介
大连理工大学软件学院数据结构上机题目 VS2010以上编译运行通过 算法封装在了2个函数里,在Main里调用传参就行
代码片段和文件信息
#include
#include
#define INF 9999
#define VIS 1
#define UNVIS 0
using namespace std;
class graph{
public:
int ** matrix;
string * vertex;
int vertex_num;
int current_size;
graph(int vertex_num=5)
{
if(vertex_num<=0)
{
cout<<“vertex_num erro“< exit(1);
}
this->current_size=0;
this->vertex_num=vertex_num;
vertex = new string[vertex_num];
matrix = new int*[vertex_num];
for (int i = 0; i < vertex_num; i++)
{
matrix[i] = new int[vertex_num];
}
//matrix初始化
for (int i = 0; i vertex_num; i++)
{
for (int j = 0; j vertex_num; j++)
{
if(i==j)
matrix[i][j]=0;
else
matrix[i][j]=INF;
}
}
}
void insert(string vertex_value)
{
if(current_size==vertex_num)
{
cout<<“oversize“< return;
}
vertex[current_size++] = vertex_value;
}
void link(int aint bint weight)
{
if(weight<=0)
{
cout<<“weight erro“< return;
}
//vertex[0] vertex[current_size-1]
if(a {
matrix[a][b]=weight;
}
else
{
cout<<“顶点下标越界:“< }
}
void show()
{
for (int i = 0; i < current_size; i++)
{
cout< }
cout<
for (int i = 0; i < current_size; i++)
{
for (int j = 0; j < current_size; j++)
{
cout< }
cout< }
}
void dijstra(int sint * Dint * path)
{
bool * mark = new bool[current_size];
for (int i = 0; i < current_size; i++)
{
mark[i]=UNVIS;
path[i]=-1;
D[i]=INF;
}
D[s]=0;
path[s]=s;
for (int i = 0; i < current_size; i++)
{
int min_sum=INF;
int min_ver=0;
//在到所有顶点的现有路径中找一条最小的
for (int j = 0; j < current_size; j++)
{
if(D[j] {
min_sum = D[j];
min_ver = j;
}
}
mark[min_ver]=VIS;//添加顶点
//更新该顶点的附近边
for (int i = 0; i < current_size; i++)
{
if( mark[i]==UNVIS && (matrix[min
相关资源
- More effective C++ 中文版, 35个改善编程
- apriori算法(C++实现)28359
- 五子棋(棋盘)(MFC编写)
- 基于vc6开发的计算器
- C++语言编写的输入法精简模型
- 魔王语言c++
- libstdc++.so.6.0.20
- sobel边缘检测的c/c++代码
- 数据结构——表达式求值 完整代码
- 杭电ACMonline习题答案-C++版
- C++录屏代码
- c++ qt 静态函数中发信号
- 简单的通讯录程序 c++
- get internet time.zip
- C++ 汉字识别源代码
- 理发师问题C++版程序代码
- 《计算机图形学》实验报告C++
- jacobi符号计算
- 在线考试系统VC++MFC
- 数据结构实验-表达式中括号配对
- VC++ 视频播放器 程序及源码
- 用C++链表结构实现多项式的加法,乘
- 深信服笔试题目C语言和C++
- BP三层神经网络实现C++代码注释详细
- Forstner点特征提取源文件,C++版本
- C 语言编译器源码
- 《信息学奥赛课课通C++》49375-00配套资
- UE4C++写入CSV文件.docx
- 学生选修课系统设计.rar
- 模拟ATM机存取款管理设计.rar
评论
共有 条评论