资源简介
全集内容结构如下:
├─图
│ ├─关键路径(有向无环图及其应用2)
│ │ 1.txt
│ │ ALGraph.cpp
│ │ ALGraph.h
│ │ CriticalPath.cpp
│ │ CriticalPath.h
│ │ InfoType.cpp
│ │ InfoType.h
│ │ LinkList.cpp
│ │ LinkQueue.cpp
│ │ LinkQueue.h
│ │ Main.cpp
│ │ SqStack.cpp
│ │ SqStack.h
│ │ Status.h
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─图的关节点
│ │ 1.txt
│ │ ALGraph.cpp
│ │ ALGraph.h
│ │ FindArticul.cpp
│ │ FindArticul.h
│ │ InfoType.cpp
│ │ InfoType.h
│ │ LinkList.cpp
│ │ LinkQueue.cpp
│ │ LinkQueue.h
│ │ main.cpp
│ │ Status.h
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─图的数组表示法
│ │ InfoType.cpp
│ │ InfoType.h
│ │ Main.cpp
│ │ MGraph.cpp
│ │ MGraph.h
│ │ Status.h
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─图的遍历
│ │ ALGraph.cpp
│ │ ALGraph.h
│ │ DEBUG.txt
│ │ InfoType.cpp
│ │ InfoType.h
│ │ LinkList.cpp
│ │ LinkQueue.cpp
│ │ LinkQueue.h
│ │ Main.cpp
│ │ MGraph.cpp
│ │ MGraph.h
│ │ MTraverse.cpp
│ │ MTraverse.h
│ │ Status.h
│ │ t1.txt
│ │ t2.txt
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─图的邻接表存储结构
│ │ ALGraph.cpp
│ │ ALGraph.h
│ │ InfoType.cpp
│ │ InfoType.h
│ │ LinkList.cpp
│ │ LinkQueue.cpp
│ │ LinkQueue.h
│ │ Main.cpp
│ │ Status.h
│ │ t1.txt
│ │ t2.txt
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─最短路径(从某个源点到其余各顶点的的最短路径)
│ │ 1.txt
│ │ 2.txt
│ │ InfoType.cpp
│ │ InfoType.h
│ │ Main.cpp
│ │ MGraph.cpp
│ │ MGraph.h
│ │ ShortestPath_DIJ.cpp
│ │ ShortestPath_DIJ.h
│ │ Status.h
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ └─最短路径(每一对顶点间的最短路径)
│ 1.txt
│ 2.txt
│ InfoType.cpp
│ InfoType.h
│

代码片段和文件信息
#include “ALGraph.h“
int LocateVex(ALGraph GVertexType u)
{//返回顶点在图中的位置
int i;
for (i = 0; i < G.vexnum; ++i)
{
if (strcmp(G.vertices[i].data.nameu.name) == 0)
{
return i;
}
}
return -1;
}
void CreateGraph(ALGraph &G)
{
int ijk;
VertexType v1v2;
ElemType e;
char s[4] = “边“;
printf(“请输入图的类型(有向图:0 有向网:1 无向图:2 无向网:3)“);
scanf(“%d“&G.kind);
if (G.kind < 2)
{
strcpy(s“弧“);
}
printf(“请输入图的顶点数,%s数:“s);
scanf(“%d%d“&G.vexnum&G.arcnum);
printf(“请输入%d个顶点的值(名称<%d个字符):\n“G.vexnumMAX_NAME);
for (i = 0; i < G.vexnum; ++i)
{
Input(G.vertices[i].data);
G.vertices[i].firstarc = NULL;//初始化
}
printf(“请输入%d条%s的“G.arcnums);
switch (G.kind)
{
case DG:printf(“弧头 弧尾:\n“);
break;
case DN:printf(“弧尾 弧头 弧的信息:\n“);
break;
case UDG:printf(“顶点1 顶点2:\n“);
break;
case UDN:printf(“顶点1 顶点2 边的信息:\n“);
break;
}
for (k = 0; k < G.arcnum; ++k)
{
scanf(“%s%s“v1.namev2.name);
i = LocateVex(Gv1);
j = LocateVex(Gv2);
e.info = NULL;//待插入的表结点的数据域赋值,设图无弧(边)信息
if (G.kind % 2)//网
{
InputArc(e.info);
}
e.adjvex = j;//待插入的表结点的数据域赋值
ListInsert(G.vertices[i].firstarc1e);//插在第i个顶点的表头
if (G.kind >= 2)//无向图或网,产生第2个表结点,并插入在第j个顶点的表头
{
e.adjvex = i;
ListInsert(G.vertices[j].firstarc1e);
}
}
}
void CreateFromFile(ALGraph &Gchar *filename)
{
int ijk;
VertexType v1v2;
ElemType e;
FILE *f;
f = fopen(filename“r“);
fscanf(f“%d“&G.kind);
fscanf(f“%d“&G.vexnum);
for (i = 0; i < G.vexnum; ++i)
{
InputFromFile(fG.vertices[i].data);
G.vertices[i].firstarc = NULL;
}
fscanf(f“%d“&G.arcnum);
for (k = 0; k < G.arcnum; ++k)
{
fscanf(f“%s%s“v1.namev2.name);
i = LocateVex(Gv1);
j = LocateVex(Gv2);
e.info = NULL;
if (G.kind%2)
{
InputArcFromFile(fe.info);
}
e.adjvex = j;
ListInsert(G.vertices[i].firstarc1e);
if (G.kind >= 2)
{
e.adjvex = i;
ListInsert(G.vertices[j].firstarc1e);
}
}
fclose(f);
}
VertexType GetVex(ALGraph &Gint v)
{
if (v >= G.vexnum || v < 0)
{
exit(OVERFLOW);
}
return G.vertices[v].data;
}
Status PutVex(ALGraph &GVertexType vVertexType value)
{
int k = LocateVex(Gv);
if (k != -1)
{
G.vertices[k].data = value;
return OK;
}
return ERROR;
}
int FirstAdjVex(ALGraph Gint v)
{
ArcNode *p = G.vertices[v].firstarc;
if (p)
{
return p->data.adjvex;
}
return -1;
}
Status EqualVex(ElemType aElemType b)
{
if (a.adjvex == b.adjvex)
{
return OK;
}
else
{
return ERROR;
}
}
int NextAdjVex(ALGraph Gint vint w)
{
linkList pp1;
ElemType e;
e.adjvex = w;
p = Point(G.vertices[v].firstarceEqualVexp1);
if (!p || !p->nextarc)
{
return -1;
}
return p->nextarc->data.adjvex;
}
void InsertVex(ALGraph &GVertexType v)
{
G.vertices[G.vexnum].data = v;
G.vertices[G.vexnum].firstarc = NULL;
G.vexnum++;
}
Status InsertArc(ALG
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-11-27 20:29 数据结构\
目录 0 2012-11-27 20:24 数据结构\图\
目录 0 2012-11-27 20:15 数据结构\图\关键路径(有向无环图及其应用2)\
文件 98 2012-10-14 13:23 数据结构\图\关键路径(有向无环图及其应用2)\1.txt
文件 7057 2012-10-10 08:59 数据结构\图\关键路径(有向无环图及其应用2)\ALGraph.cpp
文件 2493 2012-10-02 08:11 数据结构\图\关键路径(有向无环图及其应用2)\ALGraph.h
文件 3752 2012-10-14 14:26 数据结构\图\关键路径(有向无环图及其应用2)\CriticalPath.cpp
文件 173 2012-10-14 13:19 数据结构\图\关键路径(有向无环图及其应用2)\CriticalPath.h
文件 535 2012-10-14 12:05 数据结构\图\关键路径(有向无环图及其应用2)\InfoType.cpp
文件 312 2012-10-14 12:05 数据结构\图\关键路径(有向无环图及其应用2)\InfoType.h
文件 2730 2012-10-02 08:01 数据结构\图\关键路径(有向无环图及其应用2)\li
文件 1784 2012-05-27 16:25 数据结构\图\关键路径(有向无环图及其应用2)\li
文件 717 2012-10-01 20:33 数据结构\图\关键路径(有向无环图及其应用2)\li
文件 182 2012-10-14 13:32 数据结构\图\关键路径(有向无环图及其应用2)\Main.cpp
文件 1272 2012-10-09 14:27 数据结构\图\关键路径(有向无环图及其应用2)\SqStack.cpp
文件 660 2012-10-10 08:54 数据结构\图\关键路径(有向无环图及其应用2)\SqStack.h
文件 699 2012-09-03 13:01 数据结构\图\关键路径(有向无环图及其应用2)\Status.h
文件 311 2012-10-14 12:01 数据结构\图\关键路径(有向无环图及其应用2)\VertexType.cpp
文件 218 2012-10-14 12:01 数据结构\图\关键路径(有向无环图及其应用2)\VertexType.h
目录 0 2012-11-27 20:14 数据结构\图\图的关节点\
文件 121 2012-10-08 17:10 数据结构\图\图的关节点\1.txt
文件 7068 2012-10-09 14:45 数据结构\图\图的关节点\ALGraph.cpp
文件 2493 2012-10-02 08:11 数据结构\图\图的关节点\ALGraph.h
文件 1907 2012-10-08 17:45 数据结构\图\图的关节点\FindArticul.cpp
文件 381 2012-10-08 17:22 数据结构\图\图的关节点\FindArticul.h
文件 420 2012-09-30 17:33 数据结构\图\图的关节点\InfoType.cpp
文件 264 2012-09-30 16:19 数据结构\图\图的关节点\InfoType.h
文件 2730 2012-10-02 08:01 数据结构\图\图的关节点\li
文件 1784 2012-05-27 16:25 数据结构\图\图的关节点\li
文件 717 2012-10-01 20:33 数据结构\图\图的关节点\li
文件 699 2012-09-03 13:01 数据结构\图\图的关节点\Status.h
............此处省略391个文件信息
相关资源
- SVR算法程序可运行
- 计算机图形学 边填充算法实现代码
- 数据结构年终考题范围和答案 耿国华
- 福建师范大学历年算法考卷
- 栈的实现及应用,六种基本算法
- 数据结构 朱战力 习题解答 数据结构
- Bresenham算法绘制线段并利用“橡皮筋
- 介绍几种压缩算法及《笨笨数据压缩
- 改进的BP神经网络算法
- A星算法_原理讲解_例子
- 云模型的相关算法cloud
- 旋转矩阵求欧拉角的简单算法
- 数据结构课程设计 6 1 彩票系统
- 栅栏填充算法源码(VC)
- 教学计划编制系统
- 大数(链表、数组)实现
- RSA算法源码
- 关联分析Apriori算法实现
- [免费]relax算法成像
- 操作系统 LRU算法 实验报告 及 程序代
- 分治法快速排序算法QuickSort C
- 现代谱估计算法 music ESPRIT 谐波分解
- MP3文件ID3v2ID3v2APEv2标签读取
- 课程作业:模拟仓库管理系统
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- 航空订票系统_数据结构课程设计
- 007出纳管理系统 v7[1].5.94 算法注册机
- 克鲁斯卡尔算法C和C 实现代码
评论
共有 条评论