无序向量简单操作分析(插入、删除、遍历)

插入:
给定位置和待插入元素。首先插入位置及之后的元素全挪动一格,再直接插入。(元素个数等变量值要更新)

删除:通常要删除某个元素是调用区间删除函数实现的

区间删除:
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 );
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值