<课堂笔记>10-28递归11.4变量储存11.6数组

这篇课堂笔记探讨了函数的递归调用原理,强调了如何正确书写递归函数,特别以汉诺塔问题为例进行深入讲解。此外,还涉及了转进制和栈溢出的概念,指出未设定终止条件可能导致栈溢出的问题。最后,简要介绍了数组中的冒泡排序算法。
摘要由CSDN通过智能技术生成

1.函数的递归调用
——函数直接或间接调用自己:必须要判断是否进行,1参数中间是不算的2必须在函数里调用m=max2(max2(a,b),c)不算。

2.如何写递归
只考虑两层关系(而不是全局),且能-1已知=>数学归纳:假设n-1次以求得确定值,确定第n-1和第n次的关系。

3.汉诺塔问题(只能用递归)
从B移动到C,共10层。
在这里插入图片描述

4.转进制在这里插入图片描述

4.栈溢出(不设定终止条件)
fun永远在保存而不恢复现场。
不断保存现场而不恢复现场,栈只进不出。
而如下的每次abcd…都在栈里堆着。
可以设置“堆栈大小”。
在这里插入图片描述

11.4日课堂笔记

在这里插入图片描述
自动变量(本函数,动态存储区)形参同自动变量{代码块也算函数}
2.寄存器变量(cpu寄存器(快一个数量级))仅对自动变量和形参有效。
register int a;
3.
静态全局——内部链接性:本cpp
外部全局——多cpp
引用声明extern,不初始化,不分配存储空间(肯定在其他地方已经定义好了)
extern int tom; //1.cpp
int tom=0; //2.cpp外部全局

静态局部变量(静态存储):不会释放,每一次都用上一次执行的结果
static int fac=1;(与自动变量区别如下图)

::warming //作用域解析运算符——使用该变量全局版本

11.6-数组
冒泡排序
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值