这是用邻接链表作存储结构的图类源代码,下面是图类的声明部分: struct ArcNode //弧节点结构 { int adjvex; ArcNode *nextarc; }; struct VexNode //顶点结构 { int vexdata; ArcNode *firstarc; }; //邻接链表图类的声明。 class Graph { private: static string str; bool *visited; //是否访问标志 VexNode *adjlist; //邻接链表数组 int n; //已有顶点个数 int max; //可容纳的最大顶点个数 void dfs0(int v0,void visit(int& v)); void bfs0(int v0,void visit(int& v)); public: Graph(int l); //建立一个最大顶点数为l的空图 Graph(VexNode adjl[],int l); //构造一个由adj1表示的顶点个数为l的邻接链表对象 Graph(int vex[],int arc[], int n); //以vex[]为顶点集,arc[]表示的邻接矩阵建立图 void instVex(int data); //插入顶点 void instArc(int v1,int v2); //插入边 string dfs(int v0,void visit(int& v)); //深度优先遍历 string bfs(int v0,void visit(int& v)); //广度优先遍历 static void func1(int& v); //遍历时执行的函数 static void func2(int& v); //遍历时执行的函数 static string inttostr(int v); };
2020-01-04 03:14:51 13KB 邻接链表
1
7.27④ 采用邻接表存储结构,编写一个判别无向图中任意给定的 两个顶点之间是否存在一条长度为k的简单路径的算法。 实现下列函数: Status SinglePath(ALGraph g, VertexType sv, VertexType tv, int k, char *sp);
1
采用邻接表存储结构,编写一个判别无向图中任意给定的两个顶点之间是否存在一条长度为k得简单路径的算法
2020-01-03 11:22:34 2KB 算法
1
给出目录和文件信息,要求编程实现将其排列成一棵有一定缩进的树。 要求: (1)设计文件和目录信息树的存储结构。 (2)从文件或键盘输入目录和文件信息,输入格式采用绝对路径法,即: \A \A\AA1 \A\AA1\aa1.doc … 创建时要检查同一路径下不能有同名的目录或文件名。 (3)设计文件和目录信息树的输出格式(以凹入表的形式显示)。 (4)查找指定目录和文件。 (5)添加新目录或新文件。 (6)删除指定目录或文件,子目录能够被删除的前提是其为空,既不包含任何子目录和文件;根目录不能删除。 (7)扩充目录或文件信息,如创建时间、读写权限、文件长度或子目录包含的子目录和文件数等。 (8)对同一层次下的子目录或文件按创建时间有序输出。
1
编写一个采用二叉链式结构做存储结构的二叉排序树建立和查找算法
2019-12-25 11:40:23 1.66MB 二叉链式结构 二叉排序树 建立 查找
1
数据结构相关的课程设计,实现了基于顺序表、链表、二叉树、哈希表的词频统计与检索,仅供参考!
2019-12-21 22:10:53 13KB 数据结构 存储结构 文件读取 查找
1
假设以邻接矩阵作为图的存储结构,编写算法判别在给定的有向图中是否存在一个简单有向回路,若存在,则以顶点序列的方式输出该回路(找到一条即可)。(注:图中不存在顶点到自己的弧)
2019-12-21 21:58:39 5KB 邻接矩阵 有向回路
1
华中科技大学_实验报告_基于链式存储结构实现线性表的基本运算
1
程序设计任务: 设计一个程序,实现以邻接表或者邻接矩阵为存储结构,实现连通无向图的深度优先和广度优先遍历。基本要求:以邻接表或者邻接矩阵为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和相应生成树的边集。测试数据:教科书p168图7.13(a)。
1
c语言实现的线性表顺序存储结构,包括初始化,设置线性表的值,增,删,改,查。
2019-12-21 20:50:17 3KB 数据结构 线性表 c语言
1