当前位置: 首页 > news >正文

网站建设太金手指六六二五兰州城建设计院网站

网站建设太金手指六六二五,兰州城建设计院网站,网站建设营销怎么做,公司网站建设服务费怎么做账一#xff1a;C库中对于vector的介绍 vector的底层其实就是数据结构中的顺序表#xff0c;顺序表的底层就是变长数组#xff0c;是一段连续的物理空间 在下面的实现中#xff0c;重点实现的是其中的迭代器和插入删除#xff0c;下标访问等功能#xff0c;模拟实现模板类…一C库中对于vector的介绍 vector的底层其实就是数据结构中的顺序表顺序表的底层就是变长数组是一段连续的物理空间 在下面的实现中重点实现的是其中的迭代器和插入删除下标访问等功能模拟实现模板类有利于加深对于模板的认识更方便使用 二模拟实现 在模拟实现过程中要注意迭代器失效问题 #pragma once #include iostream #include assert.husing namespace std;namespace Zq {templateclass Tclass vector{public:// Vector的迭代器是一个原生指针typedef T* iterator;typedef const T* const_iterator;iterator begin(){return _start;}iterator end(){return _finish;}const_iterator begin()const{return _start;}const_iterator end() const{return _finish;}// construct and destroyvector():_start(nullptr),_finish(nullptr),_endOfStorage(nullptr){}vector(int n, const T value T()){for (size_t i 0; i n; i){push_back(value);}}templateclass InputIteratorvector(InputIterator first, InputIterator last){auto it first;while (it ! last){push_back(*it);it;}}vector(const vectorT v){vector tmp(v.begin(), v.end());swap(tmp);}vectorT operator (vectorT v){swap(v);return *this;}~vector(){delete[] _start;_finish _start _endOfStorage nullptr;}// capacitysize_t size() const{return _finish - _start;}size_t capacity() const{return _endOfStorage - _start;}//扩容void reserve(size_t n){if (capacity() n){size_t oldsize size();T* tmp new T[n];memcpy(tmp, _start, sizeof(T) * oldsize);delete[] _start;_start tmp;_finish _start oldsize;_endOfStorage _start n;}}//开空间并初始化void resize(size_t n, const T value T()){_start new T[n];_finish _start;_endOfStorage _start n;for (size_t i 0; i n; i){push_back(value);}}///access///T operator[](size_t pos){assert(pos size());return *(_start pos);}const T operator[](size_t pos)const{assert(pos size());return *(_start pos);}///modify/void push_back(const T x){insert(end(), x);}void pop_back(){erase(end()-1);}void swap(vectorT v){std::swap(_start, v._start);std::swap(_finish, v._finish);std::swap(_endOfStorage, v._endOfStorage);}//注意迭代器失效iterator insert(iterator pos, const T x){assert(pos _finish);assert(pos _start);if (_finish _endOfStorage){int newcapacity capacity() 0 ? 4 : capacity() * 2;int len pos - _start;reserve(newcapacity);pos _start len;}iterator end _finish;while (end ! pos){*end *(end - 1);end--;}*pos x;_finish;return pos;}iterator erase(iterator pos){assert(pos _start);assert(pos _finish);iterator it pos;while ((it 1) ! end()){*it *(it 1);it;}_finish--;return pos;}private:iterator _start nullptr; // 指向数据块的开始iterator _finish nullptr; // 指向有效数据的尾iterator _endOfStorage nullptr; // 指向存储容量的尾};}
http://www.zqtcl.cn/news/489914/

相关文章:

  • 网站建设改版升级wordpress 艺术家
  • 百度怎么网站排名python做网站的开发
  • 淘宝 网站建设教程视频北京华夏建设有限公司网站
  • 网站公司的利润中国域名后缀
  • 梁山网站建设电话多语言网站建设
  • 网站建设的摘要做直播网站赚钱吗
  • 网站建设明细报价表模板永久免费云服务器无需注册
  • 扁平化网站设计方案大学生做的美食网站
  • wordpress前台打开速度20秒湖南正规竞价优化公司
  • 深度网营销型网站建设wordpress keywords
  • 企业官网快速建站框架物流网站源代码
  • 网站图片设置隐私保护怎么下载搭建购物网站
  • 网站运营和推广可以做mv 的视频网站
  • 成都网站建设冠辰成都关键词优化技术
  • 用什么框架做网站快哪个网站可以自己做名片
  • 免费网站建设ppt模板下载网站设计与程序专业
  • o2o网站设计方案高端定制网站开发设计建站流程
  • 杭州建设公司网站石家庄做网站比较好的公司
  • 英文网站支付怎么做产品做推广都有那些网站
  • 自己做的网站怎么加入微信支付综合性门户网站列举
  • 哪个网站 可以做快递单录入网站怎么做抽奖
  • 网站设计培训班网站域名费用怎么做分录
  • 济南做网站哪里好惠州附近公司做网站建设多少钱
  • 使用oss做静态网站网站广告牌制作教程
  • 外贸看的英文网站公众号模板编辑器
  • 做网站的数据库的步骤阅读网站模板下载
  • 建设网站要钱吗个人养老金制度是什么意思
  • 做h5的网站页面设计软文素材网站
  • 黄冈网站推广软件费用是多少手机网站弹出层插件有哪些
  • wordpress文章链接怎么改怎么优化关键词排名优化