- 博客(5)
- 收藏
- 关注
原创 c++访问控制权限
总结一下通过上面的例子,我们发现对于privateprotected,和public访问权限publicprotectedprivate当前类可以访问可以访问可以访问子类可以访问可以访问不可访问类外部调用访问可以访问不可访问不可访问完。
2023-07-21 23:07:15
165
1
原创 邻接表的定义与实现
其实,邻接表就像链表一样,一个元素连接着一个元素,表示图中的点,如果图中的点与另外一点有联系,那么就把另外一点的值连出来,新开一列,将另外一点的值塞进去。在这个if语句外面还需要套一个for循环,因为它形似一个二维数组,需要行和列两个变量,而if正好在找到这个数组集合后检测该集合是否为空即可。不难发现,其中有些格子的值为0(同一个点)或INF(没有连接),这是导致内存浪费的原因。中存在一个指向C的表结点的同时,表头结点C所指链表也会存在一个指向A的表结点。其中第一行表示点,下面几行表示与它有连接的点。
2023-05-13 00:07:53
384
1
原创 邻接矩阵的定义和实现
我们先使用循环来遍历整个[1]为行的值(列不用是因为两边对称),使用if来判断二维数组adj[1][i]中的值不等于INF并且>=1(筛掉无连接和自己本身)并使用printf进行输出即可。②在无向图中,任一顶点i的度为第i列(或第i行)所有非零元素的个数,在有向图中顶点i的出度为第i行所有非零元素的个数,而入度为第i列所有非零元素的个数。初始化完成后,我们可以先在读入的循环内加入一些代码,比如如果两个点u、v之间有联系,那么这个二维数组[u][v]和[v][u]的值也正好为边的长度w。
2023-05-02 23:12:52
1082
1
原创 图的定义、读入与储存
函数内部的边的数据切换可以定义一个cnt作为当前在读入的边,初始化赋值为1,之后cnt++进行切换即可。图(graph)是由两个集合构成,一个是非空但有限的集合V,另一个描述了顶点之间的关系。设点的数量为n,则无向图内:边的数量edge=n(n-1),有向图还需在此基础上/2。为了美观和方便,我们可以使用一个void函数,其中形式参数为起点、终点和长度。比如这张G1,它没有方向,没有箭头,就是无向图。再比如这张G2,它有方向,有箭头,就是有向图。接下来,我们还需要两个集合来表示点和边的集合。
2023-04-25 22:10:48
261
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人