• 大小: 1.54MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-05
  • 语言: 其他
  • 标签:

资源简介

每行都有详细的注释,请配合零基础学习数据结构这本书来看。真的是良心价啊

资源截图

代码片段和文件信息

#include
#include
#include
#include
typedef char VertexType[4];
typedef char InfoPtr;
typedef int VRType;
#define INFINITY 65535 /*定义一个无限大的值*/
#define MaxSize 50 /*最大顶点个数*/
typedef enum{DGDNUGUN}GraphKind;  /*图的类型:有向图、有向网、无向图和无向网*/
typedef struct
{
VRType adj; /*对于无权图,用1表示相邻,0表示不相邻;对于带权图,存储权值*/
InfoPtr *info;  /*与弧或边的相关信息*/
}ArcNodeAdjMatrix[MaxSize][MaxSize];
typedef struct /*图的类型定义*/
{
VertexType vex[MaxSize];  /*用于存储顶点*/
AdjMatrix arc;  /*邻接矩阵,存储边或弧的信息*/
int vexnumarcnum;  /*顶点数和边(弧)的数目*/
GraphKind kind;  /*图的类型*/
}MGraph;
void CreateGraph(MGraph *N);
int LocateVertex(MGraph NVertexType v);
void DestroyGraph(MGraph *N);
void DisplayGraph(MGraph N);
void main()
{
MGraph N;
printf(“创建一个网:\n“);
CreateGraph(&N);
printf(“输出网的顶点和弧:\n“);
DisplayGraph(N);
printf(“销毁网:\n“);
DestroyGraph(&N);
}
void CreateGraph(MGraph *N)
/*采用邻接矩阵表示法创建有向网N*/

int ijkw;
VertexType v1v2;
printf(“请输入有向网N的顶点数弧数: “);
scanf(“%d%d“&(*N).vexnum&(*N).arcnum);
printf(“请输入%d个顶点的值(<%d个字符):\n“N->vexnumMaxSize);
for(i=0;ivexnum;i++) /*创建一个数组,用于保存网的各个顶点*/
scanf(“%s“N->vex[i]);
for(i=0;ivexnum;i++) /*初始化邻接矩阵*/
for(j=0;jvexnum;j++)
{
N->arc[i][j].adj=INFINITY; 
N->arc[i][j].info=NULL; /*弧的信息初始化为空*/
}
printf(“请输入%d条弧的弧尾 弧头 权值(以空格作为间隔): \n“N->arcnum);
for(k=0;karcnum;k++)
{
scanf(“%s%s%d“v1v2&w); /*输入两个顶点和弧的权值*/
i=LocateVertex(*Nv1);
j=LocateVertex(*Nv2);
N->arc[i][j].adj=w;
}
N->kind=DN; /*图的类型为有向网*/
}
int LocateVertex(MGraph NVertexType v)
/*在顶点向量中查找顶点v,找到返回在向量的序号,否则返回-1*/

int i;
for(i=0;i if(strcmp(N.vex[i]v)==0)
return i;
return -1;
}
void DestroyGraph(MGraph *N)
/*销毁网N*/

int ij;
for(i=0;ivexnum;i++) /*释放弧的相关信息*/
for(j=0;jvexnum;j++)
if(N->arc[i][j].adj!=INFINITY) /*如果存在弧*/
if(N->arc[i][j].info!=NULL) /*如果弧有相关信息,释放该信息所占用空间*/
{
free(N->arc[i][j].info);
N->arc[i][j].info=NULL;
}
N->vexnum=0;   /*将网的顶点数置为0*/
N->arcnum=0;  /*将网的弧的数目置为0*/
}
void DisplayGraph(MGraph N)
/*输出邻接矩阵存储表示的图N*/

int ij;
printf(“有向网具有%d个顶点%d条弧,顶点依次是: “N.vexnumN.arcnum);
for(i=0;i printf(“%s “N.vex[i]);
printf(“\n有向网N的:\n“); /*输出网N的弧*/
printf(“序号i=“);
for(i=0;i printf(“%8d“i);
printf(“\n“);
for(i=0;i {
printf(“%8d“i);
for(j=0;j printf(“%8d“N.arc[i][j].adj);
printf(“\n“); 
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-07-20 22:26  例题代码\
     目录           0  2017-07-20 22:24  例题代码\第10章\
     目录           0  2019-05-08 16:44  例题代码\第10章\例10_1\
     目录           0  2019-05-08 15:25  例题代码\第10章\例10_1\Debug\
     文件       33792  2019-05-08 15:25  例题代码\第10章\例10_1\Debug\vc60.idb
     文件       53248  2019-05-08 15:25  例题代码\第10章\例10_1\Debug\vc60.pdb
     文件       58368  2019-05-08 15:25  例题代码\第10章\例10_1\Debug\例10_1.bsc
     文件      184464  2019-05-08 15:25  例题代码\第10章\例10_1\Debug\例10_1.exe
     文件      187164  2019-05-08 15:25  例题代码\第10章\例10_1\Debug\例10_1.ilk
     文件        9690  2019-05-08 15:25  例题代码\第10章\例10_1\Debug\例10_1.obj
     文件      237700  2019-05-08 15:23  例题代码\第10章\例10_1\Debug\例10_1.pch
     文件      451584  2019-05-08 15:25  例题代码\第10章\例10_1\Debug\例10_1.pdb
     文件           0  2019-05-08 15:25  例题代码\第10章\例10_1\Debug\例10_1.sbr
     文件        2959  2019-05-08 15:24  例题代码\第10章\例10_1\例10_1.c
     文件        4284  2017-07-20 22:23  例题代码\第10章\例10_1\例10_1.dsp
     文件         537  2017-07-20 22:23  例题代码\第10章\例10_1\例10_1.dsw
     文件       33792  2019-05-08 16:44  例题代码\第10章\例10_1\例10_1.ncb
     文件       48640  2019-05-08 16:44  例题代码\第10章\例10_1\例10_1.opt
     文件        1427  2019-05-08 15:25  例题代码\第10章\例10_1\例10_1.plg
     目录           0  2017-07-20 22:23  例题代码\第10章\例10_2\
     文件        3136  2017-07-20 22:23  例题代码\第10章\例10_2\例10_2.c
     文件        4284  2017-07-20 22:23  例题代码\第10章\例10_2\例10_2.dsp
     文件         537  2017-07-20 22:23  例题代码\第10章\例10_2\例10_2.dsw
     文件       33792  2017-07-20 22:23  例题代码\第10章\例10_2\例10_2.ncb
     文件       48640  2017-07-20 22:23  例题代码\第10章\例10_2\例10_2.opt
     文件         888  2017-07-20 22:23  例题代码\第10章\例10_2\例10_2.plg
     目录           0  2017-07-20 22:24  例题代码\第10章\例10_4\
     文件        3407  2017-07-20 22:23  例题代码\第10章\例10_4\例10_4.c
     文件        4288  2017-07-20 22:23  例题代码\第10章\例10_4\例10_4.dsp
     文件         537  2017-07-20 22:23  例题代码\第10章\例10_4\例10_4.dsw
     文件       33792  2017-07-20 22:23  例题代码\第10章\例10_4\例10_4.ncb
............此处省略503个文件信息

评论

共有 条评论