4.13

=和{}的不同

=是给整体赋值 

如:int a=1;就是把a变成1

bool a[8]=true;就是把a里面的所以元素都变成true

{}是一个一个地分开复制

如int a[10]{1,2,3,4,5,6,7,8,9,10}

用={}赋值是不规范的

一个集合:{1,{1,2},4}

什么是子集合?

就是在里面找一部分出来

如{1}就是

注意:如{1,2}这种本身是一个集合的切勿直接写{1,2} ×!

要再加一对花括号因为它本身只是一个集合里面的元素 {{1,2}}这样因为那个子集合有一对花括号,这个元素自己也是一个集合也有一个花括号。

指针

指针减整数等于直接减(差几个类型)

int A[10];

A是一个数组,会自动转换成首元素的指针

&A是指向数组(整体)的指针

&A+1比&A大几个字节

指针+1比自己大几个字节,取决于这个指针所指的东西占多少字

&A这个指针所指的东西占40字节(占几个字节就大几个字节)

所以&A+1比&A大40字节(1个int4字节,10个40字节)

new 数组的返回值是首元素指针所以

这么写是不对的

要这么写(为你创建的new int建一个指针来存储它)

delete数组用的也是首元素的指针,同上

例如:

这段代码,运行它,控制台会输出:

思考题:为什么是1?

因为指针运算整数的整数是运算以一个类型(int/double)(4/8字节)为单位运算的

可以看到,下面的地址明明差了8(用十六进制输出地址)

因为指针减指针也是看差了几个类型(图中为double,每一个double占8字节)

new 变量好习惯

如果我这么new一个类型为Point 的new变量

 这么做是不规范的,因为它没有标明它的类型

在圆括号里标明它是用Point这个结构体定义的才是正确做法

图论

图论:

基本概念

图是由点和边构成的图形

边有没有编号:有时候有,有时候没有

图只在乎结构不在乎画法

无向图的概念

无向图:就是边上面有箭头的

度:有几条边的一端是这个点。

子图(无向图):一个图里面的一部分就是子图(自己也算);

连通

连通(无向图):两点之间可以延线走到那么连通

连通图(无向图):任意两点之间可以延线走到

连通分量(无向图):两点之间可以延线走到且不是任何连通子图的子图

点双连通

点双连通(无向图):如果两个点在图中删除了除这两个点之外的任意一点,还能连通,那么它是点双连通

点双连通图(无向图):任意两点在图中删除了除这两个点之外的任意一点,还能连通

点双连通分量(无向图):两个点在图中删除了除这两个点之外的任意一点,还能连通且不是任何点双连通子图的子图

边双连通

边双连通(无向图):如果两个点在图中删除了任意一边,还能连通,那么它是边双连通

边双连通图(无向图):任意两点在图中删除了任意一边,还能连通

边双连通分量(无向图):两个点在图中删除了任意一边,还能连通且不是任何边双连通子图的子图

都有的概念

环:一条边它从一个点出发还是回到这个点

完全图:每个点都能沿线到另一个点的图

无向图的概念

有向图:就是边上面有箭头的

出度:指一个点从这里指出去的边有多少

入度:指一个点指向这里边的有多少    出度和入度都是有向图才有的

强连通

强连通(有向图):两个点能沿边互相走到,那么称这个点为强连通

强连通图(有向图):任意两点能沿边互相走到

强连通分量(有向图):是强连通还不是任何一个强连通子图的子图

弱连通

弱连通(有向图):两个点能沿边逆向走到,那么称这个点为弱连通

弱连通图:任意两点能沿边逆向走到

弱连通分量:是弱连通还不是任何一个弱连通子图的子图

美观

为了美观(图只在乎结构不在乎画法),可以让所有线都指向一个方向

  • 31
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值