总揽
- 比较C,C++,Java,Python四种语言的特点。
- 实现代码复用,模板(C++,STL标准模板库),Java泛型
- 函数与递归,Python汉诺塔。
- 学习感悟
特点
- C,亲力亲为(语言圣母),结构化,数组,指针是其难点,变量必须声明;
- C++,融合了C,有面向对象的概念,语法结构有点怪,DV上运行报未指定类型error,向量,类,混杂其中,看起来很乱。
int &c = b; //初始化一个对象
- Java,垃圾回收,引用类型,传值不传引用。
- Python,最简洁,所有变量皆对象,每一个值都有一个地址。
复用
- C(基本没有)和Python(库函数强大,直接调,不用声明类型)都不用
- C++,模板,
- Java泛型,在涉及多种变量类型的时候非常有用
table<Integer/Double> a = New table <>()
函数
- 功能结构化,独立,一个函数只做一件事。
- 递归,阶乘问题,汉诺塔问题
移动盘子,三步走,,1,2,3
1.移动1个盘子时
2.移动n个盘子时
1)首先,借助C,从A中移动n-1个盘子到B
2)其次,借助B,将A中的1个盘子移动到C
3)最后,借助A,将B中的n-1盘子移动到C
```python
def Hanoi(n,src,mid,tar):
if n==1:
print(f'{src:}->{tar:})
else:
Hanoi(n-1,src,tar,mid)
Hanoi(1,src,mid,tar)
Hanoi(n-1,mid,src,tar)
感悟
- 创造和模仿都很难,为什么不创造呢?
- 再不用手机敲代码,真的手残。😭