vector C++实现(二)
iterator uninitialized_copy(iterator first,iterator last,iterator res){ while(first!=last){ *(res++) = *(first++); } return res; } iterator copy_backward(iterator first,iterator last,iterator res){ while(last!=first){ *(--res) = *(--last); } return res; } iterator reallocate(const size_t len){ iterator iter; iter = new T[len]; return iter; } iterator uninitialized_fill_n_my(iterator start,size_t n, const T& x){ while(n--){ *(start++) = x; } return start; } iterator find(iterator first,iterator last,const T& value){ while(first!=last){ if(*first == value)return first; ++first; } return first; } }; void test1(){//测试各种类型数据存储 Vector
Vint(10,2); for(Vector
::iterator iter =Vint.begin();iter!= Vint.end();++iter) cout<<*iter<<" "; cout<
Vflt(10,2.1); for(Vector
::iterator iter =Vflt.begin();iter!= Vflt.end();++iter) cout<<*iter<<" "; cout<
Vdoub(10,2.13); for(Vector
::iterator iter =Vdoub.begin();iter!= Vdoub.end();++iter) cout<<*iter<<" "; cout<
Vtt(10,TT(3)); for(Vector
::iterator iter =Vtt.begin();iter!= Vtt.end();++iter) cout<<*iter<<" "; cout<
Vint(10,2); Vector
::iterator iter =Vint.end(); Vint.insert(----iter,2,3); Vint.push_back(4); for(iter=Vint.begin();iter!= Vint.end();++iter) cout<<*iter<<" "; cout<
Vint(10,2); Vector
::iterator iter =Vint.end(); Vint.insert(----iter,2,3); Vint.push_back(4); for(iter=Vint.begin();iter!= Vint.end();++iter) cout<<*iter<<" "; cout<
::iterator iter1 = Vint.find(Vint.begin(),Vint.end(),3); Vint.erase(iter1,Vint.end()); for(iter=Vint.begin();iter!= Vint.end();++iter) cout<<*iter<<" "; cout<