Day1:刷题

1.二维数组中的查找在这里插入图片描述
//先对比每一行最末尾的数字,他比较特殊是一行的最大值,一列的最小值,若比目标值大?,若比目标值小?
在这里插入图片描述

p s:考虑用例:二维数组为空时
主要知识点:vector的用法
(1)通过遍历器方式读取

int array[6]={1,2,3,4,5,6};
vector A(array,array+3);
for(vector::iterator it=A.begin();it!=A.end();it++)
cout<<*it<<" ";

(2)向array中添加元素

vector array;
for(int i=0;i<10;i++)
array.push_back(i)

(3)#include下几种函数

sort(a.begin(),a.end()); //从小到大排序
reverse(a.begin(),a.end()); //倒置
copy(a.begin(),a.end(),b.begin()+1); //复制a的内容到b
find(a.begin(),a.end(),target); //查找a所给范围内是否存在target 存在返回其位置

2.(hash map 实现)在这里插入图片描述
在这里插入图片描述
主要知识点:
memset 函数是内存赋值函数,用来给某一块内存空间进行赋值,包含在<string.h>头文件中,可以用它对一片内存空间逐字节进行初始化;
void *memset(void *s, int v, size_t n);
这里s可以是数组名,也可以是指向某一内在空间的指针;
v为要填充的值,n为要填充的字节数;

3.在这里插入图片描述
在这里插入图片描述主要知识点:
字符串操作+=添加;

在这里插入图片描述在这里插入图片描述
主要知识点:
vector 数组反转

5.在这里插入图片描述在这里插入图片描述

在这里插入图片描述
主要知识点:
1.根据先序和中序建?, 先序的第一个元素为新?的根结点?,在中序里找到该结点?,将序列划分为了左半部分和右半部分,再递归建立左子树和右子树。
2.distance(v1,v2)返回两个迭代器(容器)之间的距离


版权声明:本文为weixin_45532220原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。