数组与vector

C++数组操作

声明数组

typename a[N];  // N必为整数常量,不可为变量

数组作为参数

// 形参是指针
void myFunction(int *param){
    ...
}
// 形参是已定义大小的数组
void myFunction(int param[10]){
    ...
}
// 形参是未定义大小的数组
void myFunction(int param[]){
    ...
}

就函数而言,数组的长度是无关紧要的。
————————————————————————————

vector

1.vector的定义

首先添加头文件:

#include <vector>
using namespace std;

定义:

vector<typename> name;
// vector的元素亦可是vector
vector<vector<typename>> name;

2.vector常用函数

假设已有vector<int> v

迭代器

首先v.begin();为v的首元素地址,
但是v.end();是尾元素的下一个地址。

vector<int>::iterator it = v.begin();
// 遍历。只可用it != v.end(),不可用it < v.end()的写法。
for(vector<int>::iterator it = v.begin(); it != v.end(); it++){
    ...
}

v.push_back(x)

往vector后面添加元素x

v.pop_back()

删除(并不返回)最后一个元素

v.size()

返回vector的元素个数

v.clear()

清除所有元素
v.insert(index, x)
在index处插入元素x
若要在第一个位置插入:
v.insert(v.begin(), x);

v.erase(index)

删除元素,有两种用法

// 删除单个元素,index必须是迭代器的某个位置
v.erase(v.begin() + index);
// 删除区间[first, last)内所有元素
v.erase(v.begin()+first, v.begin()+last);

————————————————————————————

题目

leetcode-88.合并两个有序数组

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。