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);
————————————————————————————