插入:
给定位置和待插入元素。首先插入位置及之后的元素全挪动一格,再直接插入。(元素个数等变量值要更新)
删除:通常要删除某个元素是调用区间删除函数实现的
区间删除:
int delete_sequence(vector<T> a,int lo, int hi)
{
int j = hi;
for (; j < a.size(); j++)
{
a[lo++] = a[j];
}
size = lo;
a.shrink();
return j - lo;
}
遍历:
即对vector中所有元素进行某一操作,常通过函数指针或是重载了()操作符的对象进行,且都为模板
如:
函数指针:T (*p)(T1 n1,T2 n2),给出这种类型的函数实现,传递函数指针即可。
又如函数对象:
struct comp{ //定义compare结构体
public:
//重载操作符operator()
int operator() (int x, int y) { return x < y; }
};
实例:STL中sort方法第三个参数就是函数指针或者对象
template <class RandomAccessIterator, class Compare>
void sort ( RandomAccessIterator first, RandomAccessIterator last, Compare comp );
template <class RandomAccessIterator>
void sort ( RandomAccessIterator first, RandomAccessIterator last );