没有合适的资源?快使用搜索试试~ 我知道了~
数组、链表、树代码题总结——一休.docx
需积分: 50 1 下载量 22 浏览量
2022-08-14
12:11:47
上传
评论
收藏 1.14MB DOCX 举报
温馨提示
试读
50页
数组、链表、树代码题总结——一休.docx
资源详情
资源评论
资源推荐
数组、链表、树代码题总结——一休
如果文档中有什么问题可以找王道班主任或者直接找我,现在可能有一些
小错误,等强化结束,订正后汇总在一起可以开放打印。
本来我想讲的东西很多,希望能够把所有可能用到的东西都展示给大家
(比如引用,如果理解不了,考试中怎么通过其他方法避免使用引用),
但是时间紧张,之后会考虑制作对应课程包,不同的同学想听的东西不
同,大家有什么建议以及这几次课程的评价都可以填问卷或者直接告诉我
或班主任,感谢大家的支持,希望你们能学会这种分析做题的方法,那代
码题拿分甚至拿满分都是没问题。数据结构其他部分每一小块我也在做总
结,但是这个很难做,你们可以去看一下习题视频里面的红黑树和并查集
部分,希望可以帮助大家复习。
【腾讯文档】算法大题课程反馈及建议
https://docs.qq.com/form/page/DRXBpY0xJa0RtZUtT
Commented [1]:
0 思维导图
1 考试时如何写代码
考试中的注释也是必不可少的,因为重要的是让老师理解我们的思路,所以在关键位置处写注
释有助于老师阅读。①在变量的定义处告知该变量是做什么的;②在使用伪代码处和函数调用处告
知这部分实现哪些功能;③代码逻辑复杂的地方告知是做什么的。
很多简单的代码、库函数写起来浪费时间,考试时简写或者写个系统调用即可,只要让老师知
道你想干嘛即可,但重要的代码一定不能这样,否则是 0 分。比如说本题就是考察快速排序,你直
接调用 Qsort 不把快排过程写出来,当然拿不到分。那如何判断?只要这个东西的代码有可能超过
你的所有代码 1/4(其实就是他很重要),就一定要写。
给大家总结了一些可以偷懒节省时间的地方,考试时简写即可,使用的时候写清楚他的功能即
可。
1.1 最大最小值 Max_int、Min_int
从名字可以看出来,Max_int 是最大的整数值,Min_int 是最小的整数值(同理,float、double、
unsigned 也可以这样定义),他常用于比较选择最大最小值时,比如初值设为 Max_int,那遇到任意
值都会比他小或者相等,这样只要遇到比他小的就更新为更小的值。
int D_min=Max_int; //D_min 初始设为最大的整数
for (int i=0; i<n; i++) //遍历 D 循环选出最小的 D
if (D[i]<D_min)
D_min=D[i]; //D[i]比 D_min 小,D_min 更新
1.2 比大小函数 max(a, b)、min(a, b)
从名字可以看出来,这两个函数是为了得到 a 和 b 中的最小值和最大值
函数定义如下(不用掌握):
int max(int a, b){
if(a>b)
return a;
else return b;
}
int min(int a, int b){
if(a<b)
return a;
else return b;
}
使用这两个函数能让我们的代码变得简洁、清晰:
Commented [2]:
Commented [3]:
int D_min=Max_int; //D_min 初始设为最大的整数
for (int i=0; i<n; i++) //遍历 D 循环选出最小的 D
D_min=min(D_min, D[i]); //D_min=D_min 和 D[i]中的较小值
1.3 输入输出函数 cin、cout
C 语言中的输入、输出函数分别是 scanf 和 printf 函数,因为和变量的类型有关,写起来比较麻
烦,在考试中可以用 C++,那我们可以使用 C++的 cin、cout 函数来输入、输出,而不用管变量的
类型,会简洁很多。
cin>>A[0]; //读入 A[0],cin 是左箭头
cin>>b>>c; //读入 b、c
cout<<A[0]; //输出 a
cout<<b<<c<<endl; //输出 b、c,并输出回车
scanf(“%d”, A); //读入 A[0]
scanf(“%d”, &b); //读入 b
使用 cin、cout 函数不用管是不是要加&,也不用管他是什么类型的变量,可以节省考试时间,
也减少出错可能:
int D_min=Max_int; //D_min 初始设为最大的整数
for (int i=0; i<n; i++) //遍历 D 循环选出最小的 D
D_min=min(D_min, D[i]); //D_min=D_min 和 D[i]中的较小值
for (int i=0; i<n; i++)
cout<<A[i]<<” ”; //循环输出数组 A 以及空格
当然还有一种更简单的写法,写中文。比如直接写输出数组 A、输入数组 A:
int D_min=Max_int; //D_min 初始设为最大的整数
for (int i=0; i<n; i++) //遍历 D 循环选出最小的 D
D_min=min(D_min, D[i]); //D_min=D_min 和 D[i]中的较小值
for (int i=0; i<n; i++)
输出数组 A
1.4 A[i++]和 A[++i]
这两个写法是不一样的,A[i++]中 i 在前表示先使用 i,再 i++;A[++i]中先 i++,再使用 A[i](此
时 i 是 i++后的结果)。这两种写法相当于两步缩写成了一步,如果记不住还是拆开写成两步比较稳
妥。
剩余49页未读,继续阅读
leader_song
- 粉丝: 1241
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0