1.
vector容器
push_back()函数的用法
函数将一个新的元素加到vector的最后面,位置为当前最后一个元素的下一个元素
push_back() 在Vector最后添加一个元素(参数为要插入的值)
- vec.push_back(10);
- //在容器中添加10
- int num = 10;
- vector<int> vec;
- vec.push_back(num);
2.
#include <bits/stdc++.h> //万能头文件
3. BOOL类型数组初始化
一般初始化为true或者false。
赋值方式为:
(1)如果赋值全为true:
bool boolArray[16];
memset(boolArray, 1, 16 * sizeof(bool));
(2)如果赋值全为false:
bool boolArray[16] = {0};
注意:
bool boolArray[16] = {1}; // 这种方式只会将第一个bool值初始化为true,其他都是false。
————————————————
C++将数组初始化为全0的这个用法:
int a[100] = {0};// 初始化一个全0的数组
你可能会举一反三,使用如下代码来初始化一个全1数组
int a[100] = {1};
但是这句代码的执行结果是:得到一个第一个数为1,其他数全部为0的数组。
这个结论在bool数组的初始化中同样适用:
bool b[100] = {false};// 初始化一个全为false的数组
bool b[100] = {true};// 初始化一个b[0]为true,其他为false的数组
用memset来进行初始化:
//int a[100];
//memset(a, 1, sizeof(a));// 不能初始化一个全1的数组
bool b[100];
memset(b, true, sizeof(b));// 可以初始化一个全为true的数组
————————————————
3.
关于cmp函数,我今天一直测试了很久不知道什么情况,本来自己写cmp函数应该是这样
bool cmp(int a, int b) {
return a > b;
}
给sort用来排序,按照我一直的理解这样就是从大到小排列,所以就该是:
如果a>b return 1,符合条件的话,序列不用动;如果不符合就交换;
————————————————
4.
sort(首元素地址,末元素地址的下一个地址,比较函数)
其中,前两个参数为必填项,最后一个参数是选填项,如果不填最后一项,sort函数默认进行递增排序。
5.
c++ stl库中begin()和end()的区别
c.begin(); 返回指向容器最开始位置数据的指针
c.end(); 返回指向容器最后一个数据单元+1的指针
如果我们要输出最后一个元素的值应该是 *(--c.end());