2018-06-09 机试准备01

今天开始正式日常做机试训练(参考书:计算机考研--机试指南)记录一些问题/解决办法/知识回顾/易错点/心得之类的。

基础:

1. #include

2. while(scanf("%d",&n)!=EOF)  //scanf函数是有返回值的,返回被输入函数成功赋值的变量个数,此例中为1。若采用gets()方法读入字符串,可用while(gets())来判断输入是否结束 (注意gets()中不能为string类型 只能为char[]类型

3. printf("\n");

4. 复杂度:例:1s的运行时限,复杂度不能超过1千万,若算法时间复杂度为O(n2),则n不能大于3000; 32MB的内存空间,32*2^20(3千万级),int型为4个字节,即4B;一般为空间换时间。

5. using namespace std; //使用标准命名空间

排序:

1. 冒泡排序 时间复杂度O(n2) 空间复杂度O(n) 注意最大的总在最右,所以双重循环,内层循环终止条件为j

2. 快速排序 时间复杂度O(nlogn) C++库函数sort(起始地址,结束地址,cmp) 需要头文件algorithm 定序规则:升序排列、只利用小于运算符排序 cmp为自己定义的比较函数 返回值为bool类型 (C中为qsort()) 

做题细节:

1. struct结构初始化方法:1)struct E{}buf[1000];  2)struct E{}; E buf[1000]; (再补充)

2. char[]型 有结束符'\0' 占1个空间 长度为100的字符串 需定义为char a[101];

3. ==不能用来判断字符串是否相等,只能判断单个字符;应该用strcmp(a,b)来判断 =0为相等,>0为a>b, <0为a

4. 重载运算符:bool operator < (const E &b) const{} 或 bool operator < (const E&a,const E&b){} 第二个const不能随便用(在主函数外定义重载运算符用const报错:non-member function cannot have cv-qualifier)(在struct里不用const报错)(?)

你可能感兴趣的:(2018-06-09 机试准备01)