力扣刷题路线-c++学习笔记(1)

1.数组

数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。如下所示

力扣刷题路线-c++学习笔记(1)_第1张图片

数组的元素是不能删的,只能覆盖。

力扣刷题路线-c++学习笔记(1)_第2张图片

 可以看出在C++中二维数组在地址空间上是连续的

解释一下:每次都是加4,因为int型的数组,所以相邻的元素地址差4个字节

16进制中8+4=c

2. vector的使用方法:

在C++中,vector是一个十分有用的容器,是一个能够存放任意类型的动态数组,能够增加和压缩数据。

vector的优点:
(1)可将容器中元素翻转、复制元素、找到元素值对应的位置
(2)可在容器的末尾增加或删除元素
(3)可在任意位置插入数据

(4)与数组相比,容器在自动处理容量的大小时会消耗更多的内存,但能很好的调整存储空间大小。

vector的使用:

(1) 头文件:

#include

(2) 创建vector对象:

vector array;

(3) 向量尾部插入/删除元素:

array.push_back(a); //尾部插入数字a
array.pop_back(); //删除向量的最后一个元素

(4) 使用下标访问元素:

array[0],array[1]......array[n]
array.at(i) //使用at(),当这个函数越界时会抛出一个异常

(5) 使用迭代器访问元素:

vector::iterator it;
for(it=array.begin();it!=array.end();it++)
    cout<<*it<

(6) 插入元素:

array.insert(array.begin()+i,a); //在第i+1个元素前面插入a;

(7) 删除元素:

array.erase(array.begin()+2); //删除第3个元素
array.erase(array.begin()+i,array.end()+j); //删除区间[i,j-1],区间从0开始

你可能感兴趣的:(leetcode,学习,算法)