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

建设旅游网站可商用的免费素材网站

建设旅游网站,可商用的免费素材网站,烟台商城网站制作,wordpress编辑器 下载vector就是我们之前数据结构学的顺序表#xff0c;这篇博客就是说一说它的简单使用和底层实现 文章目录 简单使用模拟实现 简单使用 首先#xff0c;我们看看它的构造函数 我们比较常用的也就是第二种#xff0c;就是第一个参数是要存的数据个数#xff0c;第二个是要填…vector就是我们之前数据结构学的顺序表这篇博客就是说一说它的简单使用和底层实现 文章目录 简单使用模拟实现 简单使用 首先我们看看它的构造函数 我们比较常用的也就是第二种就是第一个参数是要存的数据个数第二个是要填充的数据 vectorintf(10, 0);这个的意思就是表中存放十个数据每个数据是0 vectorintg;这种就是创建一个空的vector表也就对应上面第一种情况 除了这两种第三种情况可以看到是一个模板这个模板实例化后可以是迭代器也就是用迭代器区间去构造当然如果是数组也可以因为它的底层空间是连续的 int main() {vectorintf(10, 0);vectorintg(f.begin(), f.end());for (auto e : g) {cout e ;}cout endl;string s1(abcdefg);vectorchars2(s1.begin(), s1.end());for (auto e : s2) {cout e ;}cout endl;return 0; }char s1[] abcdefg;vectorchars2(s1,s16);for (auto e : s2) {cout e ;}cout endl;这里就是分别用迭代器和数组名指针初始化的。 跟string一样vector的数据访问也可以用方括号迭代器和范围for int main() {vectorintf;f.push_back(1);f.push_back(2);f.push_back(3);f.push_back(4);f.push_back(5);for (size_t i 0; i f.size(); i) {cout f[i] ;}cout endl;vectorint::iterator it f.begin();while (it ! f.end()) {cout *it ;it;}cout endl;for (auto e : f) {cout e ;}cout endl;return 0; }我们这里插入函数传位置的话只能传迭代器我们可以先查找一下查找就用算法里的find 要包含算法的头文件 int main() {vectorintf;f.push_back(1);f.push_back(2);f.push_back(3);f.push_back(4);f.push_back(5);vectorint::iterator it find(f.begin(), f.end(), 3);f.insert(it, 30);for (auto e : f) {cout e ;}cout endl; }模拟实现 #includeassert.h namespace jxh {templateclass Tclass vector {public:typedef T* iterator;typedef const T* const_iterator;vector() {};vector(const vectorT v) {reserve(v.capacity());for (const auto e : v) {push_back(e);}}template class InputIteratorvector(InputIterator first, InputIterator last) {while (first ! last) {push_back(*first);first;}}vector(size_t n, const T val T()) {resize(n, val);}vector(int n, const T val T()) {resize(n, val);}void swap(vectorT v) {std::swap(_start, v._start);std::swap(_finish, v._finish);std::swap(_endofstorage, v._endofstorage);}vectorT operator(vectorTv) {swap(v);return *this;}~vector() {if (_start) {delete[]_start;_start _finish _endofstorage nullptr;}}iterator begin() {return _start;}iterator end() {return _finish;}const_iterator begin()const {return _start;}const_iterator end()const {return _finish;}size_t size()const {return _finish - _start;}size_t capacity()const {return _endofstorage - _start;}T operator[](size_t pos) {assert(pos size());return _start[pos];}const T operator[](size_t pos)const {assert(pos size());return _start[pos];}void reserve(size_t n) {if (n capacity()) {size_t old size();T* tmp new T[n];if (_start) {for (size_t i 0; i old; i) {tmp[i] _start[i];}delete[]_start;}_start tmp;_finish _start old;_endofstorage _start n;}}void resize(size_t n, T val T()) {if (n size()) {reserve(n);while (_finish _start n) {*_finish val;_finish;}}else {_finish _start n;}}void push_back(const T x) {if (_finish _endofstorage) {size_t newcapacity capacity() 0 ? 4 : capacity() * 2;reserve(newcapacity);}*_finish x;_finish;}void pop_back() {assert(size() 0);--_finish;}iterator insert(iterator pos, const T x) {assert(pos _start pos _finish);if (_finish _endofstorage) {size_t len pos - _start;reserve(capacity() 0 ? 4 : capacity() * 2);pos _start len;}iterator end _finish - 1;while (end pos) {*(end 1) *end;--end;}*pos x;_finish;return pos;}iterator erase(iterator pos) {assert(pos _start pos _finish);iterator it pos 1;while (it _finish) {*(it - 1) *it;it;}_finish--;return pos;}private:iterator _start nullptr;iterator _finish nullptr;iterator _endofstorage nullptr;};void print_vector(const vectorint v) {for (auto e : v) {cout e ;}cout endl;} }STL源码中vector的实现不是像我们之前用一个指针一个size一个capacity实现的而是用三个指针用指针之间的减法来算出size和capacity
http://www.zqtcl.cn/news/305437/

相关文章:

  • php 家政网站白嫖云服务器
  • 长春网站关键词推广优秀网站建设哪个公司好
  • php实战做网站视频教程站长工具网站测速
  • 当下网站建设常见的网址有哪些
  • 洪雅网站建设事业单位门户网站建设包含内容
  • 外网如何查看局域网建设的网站区块链开发工程师要求
  • 网站首页三张海报做多大怎么做网上直营店网站
  • 网站制作新手教程视频省建设厅网站安全生产标准化
  • 自动建设网站系统阿里云虚拟主机多网站
  • 区块链app排名网站seo其应用
  • 海口网站建设咨询一般网站建设需求有哪些方面
  • 免费网站建设朋友交流模板王网站
  • wordpress不同分类不同广告 文章属于不同分类网站 优化手机版
  • 淮安市建设银行网站首页王也是谁
  • 好用的网站管理系统给wordpress程序提速
  • 网页设计模板的网站网站开发包括哪些
  • 做网站的标准国外html5网站模板
  • 手机网站设计公司立找亿企邦郑州seo网络营销技术
  • 网站设计优秀作品网站开发的背景知识
  • 响应式网站建设流程温州网站优化案例
  • 谢岗镇网站建设上海的网吧
  • 厦门网站建设 智多星做印刷的有什么网站
  • 怎样做原创短视频网站wordpress文章加音频
  • 建设一个网站所需要注意的最有前途的15个专业
  • 橱柜手机网站模板软件设计说明书
  • 山西云起时网站建设wordpress 字体大小
  • 网站建设详细报价电商开发系统
  • 搜索引擎营销的主要方法开封seo推广
  • 怎么在网上找做网站的客户安徽安能建设集团网站
  • 乾安网站建设哪家专业h5在线编辑