auto类型说明符
用它就能让编译器替我们去分析表达所属的类型。
string对象上的操作
初始化的方式
string对象 上的操作
标准库类型vector
定义和初始化vector对象
迭代器介绍
标准容器迭代器的运算符
使用迭代器,不使用小标操作,避免随机访问
容器操作
获取迭代器
将一个容器初始化为另一个容器的拷贝
将一个新容器创建为另一个容器的拷贝的方法有两种:可以直接拷贝整个容器,或者(array除外)拷贝一个迭代器对指定的元素范围。
截图来自:C++_Primer_第5版_中文
vector初始化
C++_vector操作
顺序容器访问元素
front和back成员函数、begin和end
string搜索操作
将搜索操作返回指定字符出现的下标,如果未找到则返回npos。
s.find(args):查找s中args第一次出现的位置。
find解释
关联容器提供多种查找一个指定元素的方法,如果关心的只不过是一个特定元素是否已在容器中,可能find是最佳选择。
对map使用find代替下标操作
添加元素
关联容器的insert成员,向容器中添加一个元素或一个元素范围。由于map和set(以及对应的无序类型)包含不重复的关键字,因此插入一个已存在的元素对容器没有任何影响。
画解算法:两数之和
检测insert的返回值
for(int num : nums2)
范围for循环
c++中vector find使用
不同于map(map有find方法),vector本身是没有find这一方法,其find是依靠algorithm来实现的。
set.insert(x)
set跟vector差不多,它跟vector的唯一区别就是,set里面的元素是有序的且唯一的,只要你往set里添加元素,它就会自动排序(升序),而且,如果你添加的元素set里面本来就存在,那么这次添加操作就不执行。要想用set先加个头文件set。
时间,空间复杂度o(1)
O(1)就是最低的时空复杂度了,也就是耗时/耗空间与输入数据大小无关,无论输入数据增大多少倍,耗时/耗空间都不变。 哈希算法就是典型的O(1)时间复杂度,无论数据规模多大,都可以在一次计算后找到目标(不考虑冲突的话)。
空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。
如当一个算法的空间复杂度为一个常量,即不随被处理数据量n的大小而改变时,可表示为O(1) 。