《王道机试指南》
排版题:代码2.11
直接输出的时候有从上至下从左至右的顺序限制,当图形规律不适合直接用到输出上时,就先用一个二维数组,在数组上完成排版。
查找题:代码2.13
1.一定要对时间复杂度十分敏感,时间限制1秒,数量级不能超过千万级
2.要用sort,就要写 using namespace std; #include<algorithm>
定义了结构体Student,为了能用sort排序,所以要重构小于运算符(结构体的一部分):
bool operator < (const Student &A) const{
}
也可以自己写一个cmp函数
3.scanf函数中后面的参数放的是变量的地址,由于字符串的名字是字符串的地址,所以可以不加&
在c和c++中,字符串数组的名字就是代表了该字符串的首地址
4.二分查找
贪心算法:代码:2.14
1.只有证明了某种贪心的策略是正确的,是能够在该问题中得到最优解的,它才能被我们所采用
通常用反证法
第三章 栈的应用
定义:stack<int> S;
入栈:S.push(i);
读取栈顶元素,并将其赋予变量x:int x = S.top();
出栈:S.pop();
#include<stack>
using namespace std;
代码3.1
- 在学数据结构的时候,写括号匹配的伪码的时候,都是直接把括号压入栈中;而实际上,写代码的时候还是用的数字栈
- 最后输出的时候,要把ans作为数组输出,所以在最后人为的加上'\0'