如何在向量中写入“插入”?

时间:2011-06-06 15:56:03

标签: c++

我写这个,但它不起作用......

template<typename T>
typename vector<T>::iterator vector<T>::insert(iterator pos,const T& val)
{
    int a=0,b=0;
    if(capacity()==0) a=capacity()+1;
    if(capacity()==size())
    {
        a=capacity()*2;
        T *start2=operator new[](a*sizeof(T)))
        for(int i=0;;i++)
        {
             new(start2+i) T(start+i);
             if(start2+i==pos)
             {
                 b=start2+i;
                 break;
             }
        }
        start2+pos=val;
        for(int j=b;j<=2*size();j++)
        {
             new(start2+j) T(start+j+1);
        }
    }
    else if(capacity()>size())
    {
        for(int i=0;i<=capacity();i++)
        {
            if(start+i==pos)pos=
        }
    }     
}

2 个答案:

答案 0 :(得分:2)

使用为insert()

提供的push_back()std::vector功能

答案 1 :(得分:0)