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

vs2013做的网站怎样注册网站建立网页

vs2013做的网站,怎样注册网站建立网页,东营抖音网络推广公司,做游戏模型挣钱的网站目录 一、常见接口 1.1 构造函数 1.2 访问与遍历 1.3 容量操作 1.4 增删查改 二、模拟实现 2.1 迭代器失效 2.2 源代码 一、常见接口 vector数据结构实际上是顺序表 详细解释与使用请参见官方网站:vector - C Reference (cplusplus.com) 1.1 构造函数 函…

目录

一、常见接口

1.1 构造函数

1.2 访问与遍历

1.3 容量操作

1.4 增删查改

二、模拟实现

2.1 迭代器失效

2.2 源代码


一、常见接口

vector数据结构实际上是顺序表

详细解释与使用请参见官方网站:vector - C++ Reference (cplusplus.com)

1.1 构造函数

函数名功能
vector()无参构造
vector(size_type n, const value_type& val =value_type())构造并初始化n个val
vector (const vector& x)拷贝构造
vector (InputIterator first, InputIterator last)使用迭代器进行初始化构造
void test1()
{vector<int> v1;vector<int> v2(10, 1);vector<int> v3(v2.begin(), v2.end());
}

1.2 访问与遍历

函数名功能
operator[]通过[]方式取
at(int idx)返回索引idx所指的数据(该函数会自动检查 n 是否在vector中有效元素的边界内,如果不是,则抛出异常。这与operator[]形成鲜明对比,后者不检查边界。)
begin+ end获取第一个数据位置的iterator/const_iterator,获取最后一个数据的下一个位置的iterator/const_iterator
rbegin + rend获取最后一个数据位置的reverse_iterator,获取第一个数据前一个位置的reverse_iterator
范围for搭配auto实现遍历
//遍历操作
void test2()
{vector<int> v(10, 1);//1.for (size_t i = 0; i < v.size(); i++){cout << v[i] << " ";}cout << endl;//2.vector<int>::iterator it = v.begin();while (it != v.end()){cout << *it << " ";it++;}cout << endl;//3.for (auto e : v){cout << e << " ";}cout << endl;
}

1.3 容量操作

void test1()
{vector<int> v;// set some initial content:for (int i = 1; i < 10; i++)v.push_back(i);v.resize(5);v.resize(8, 100);v.resize(12);cout << "v contains:";for (size_t i = 0; i < v.size(); i++)cout << ' ' << v[i];cout << '\n';
}

1.4 增删查改

函数名功能
push_back尾插
pop_back尾删
insert在position之前插入val
erase删除position位置的数据
swap交换两个vector的数据空间
//插入和删除
void test1()
{vector<int> v1;//尾插v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);v1.push_back(5);//尾删v1.pop_back();//插入v1.insert(v1.begin(), 6);v1.insert(v1.begin(), 2, 8);//删除v1.erase(v1.begin());//清空v1.erase(v1.begin(), v1.end());v1.clear();
}

二、模拟实现

2.1 迭代器失效

  • 插入元素(insert):向vector中插入元素可能导致重新分配内存,从而使所有的迭代器失效。
  • 删除元素(erase):删除元素后,指向被删除元素和其后的所有迭代器都会失效。
  • 添加元素(push_back或emplace_back):如果引起重新分配内存,则所有迭代器都会失效。

2.2 源代码

#pragma once
#include<iostream>
#include<assert.h>using namespace std;namespace paradiso
{template<class T>class vector{public:typedef T* iterator;typedef const T* const_iterator;vector(){}~vector(){delete[] _start;_start = _end_of_storage = _finish = nullptr;}iterator begin(){return _start;}iterator end(){return _finish;}const_iterator begin() const{return _start;}const_iterator end() const{return _finish;}void reserve(size_t n){if (n > capacity()){size_t old_size = size();T* tmp = new T[n];memcpy(tmp, _start, size() * sizeof(T));delete[] _start;_start = tmp;_finish = tmp + old_size;_end_of_storage = _start + n;}}size_t size(){return _finish - _start;}size_t capacity(){return _end_of_storage - _start;}T operator[](size_t i){assert(i < size());return _start[i];}bool empty(){return _start == _finish;}void push_back(const T& x){if (_finish != _end_of_storage){*_finish = x;++_finish;}else{reserve(capacity() == 0 ? 4 : capacity() * 2);*_finish = x;++ _finish;}}void pop_back(){assert(!empty());--_finish;}void insert(iterator pos, const T& x){if (_finish == _end_of_storage){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;}iterator erase(iterator pos){assert(pos >= _start);assert(pos < _finish);iterator end = _finish - 1;size_t len = pos - _start;while (end >= pos){*pos = *(pos + 1);pos++;}pos = _start + len;--_finish;return pos;}private:iterator _start = nullptr;iterator _finish = nullptr;iterator _end_of_storage = nullptr;};template<class T>void print_vector(const vector<T>& v){//在没有实例化的类模板里面取东西//typename vector<T>::const_iterator it = v.begin();auto it = v.begin();while (it != v.end()){cout << *it << " ";++it;}cout << endl;for (auto e : v){cout << e << " ";}cout << endl;}
}


文章转载自:
http://sirena.c7513.cn
http://dhss.c7513.cn
http://lebanese.c7513.cn
http://porn.c7513.cn
http://myokymia.c7513.cn
http://glomeration.c7513.cn
http://nearsighted.c7513.cn
http://tapering.c7513.cn
http://anastomosis.c7513.cn
http://mealtime.c7513.cn
http://mannite.c7513.cn
http://gradualism.c7513.cn
http://seder.c7513.cn
http://consolidate.c7513.cn
http://microbe.c7513.cn
http://apodal.c7513.cn
http://sheep.c7513.cn
http://octosyllabic.c7513.cn
http://denuclearize.c7513.cn
http://academically.c7513.cn
http://dogcart.c7513.cn
http://stonemason.c7513.cn
http://bacterioscopy.c7513.cn
http://culet.c7513.cn
http://bibliopole.c7513.cn
http://degustate.c7513.cn
http://lusty.c7513.cn
http://guyanan.c7513.cn
http://prepreg.c7513.cn
http://maebashi.c7513.cn
http://manna.c7513.cn
http://undoing.c7513.cn
http://sebaceous.c7513.cn
http://locomotion.c7513.cn
http://composedly.c7513.cn
http://futurology.c7513.cn
http://capitalizable.c7513.cn
http://rouble.c7513.cn
http://weldor.c7513.cn
http://soavemente.c7513.cn
http://cippus.c7513.cn
http://prostacyclin.c7513.cn
http://prepose.c7513.cn
http://towfish.c7513.cn
http://ccsa.c7513.cn
http://minimally.c7513.cn
http://delphinoid.c7513.cn
http://mimetic.c7513.cn
http://nostrum.c7513.cn
http://shortchange.c7513.cn
http://excremental.c7513.cn
http://patienthood.c7513.cn
http://trike.c7513.cn
http://gambrel.c7513.cn
http://sothic.c7513.cn
http://adventureful.c7513.cn
http://loser.c7513.cn
http://watercart.c7513.cn
http://constative.c7513.cn
http://volcanism.c7513.cn
http://anglophone.c7513.cn
http://twicer.c7513.cn
http://associational.c7513.cn
http://appendant.c7513.cn
http://thermogeography.c7513.cn
http://harbourer.c7513.cn
http://whithersoever.c7513.cn
http://periventricular.c7513.cn
http://qbe.c7513.cn
http://greedy.c7513.cn
http://crockpot.c7513.cn
http://gutser.c7513.cn
http://nylex.c7513.cn
http://gigantopithecus.c7513.cn
http://tinkerly.c7513.cn
http://concussive.c7513.cn
http://czarist.c7513.cn
http://biogenic.c7513.cn
http://defectiveness.c7513.cn
http://homegrown.c7513.cn
http://tormentor.c7513.cn
http://contignation.c7513.cn
http://zamboni.c7513.cn
http://undenominational.c7513.cn
http://trilaminar.c7513.cn
http://intranquil.c7513.cn
http://driftwood.c7513.cn
http://ailurophobia.c7513.cn
http://ukase.c7513.cn
http://untwist.c7513.cn
http://bitty.c7513.cn
http://gesture.c7513.cn
http://cutlas.c7513.cn
http://mugginess.c7513.cn
http://nervous.c7513.cn
http://segmentary.c7513.cn
http://smug.c7513.cn
http://stewbum.c7513.cn
http://pancreatectomy.c7513.cn
http://rockbridgeite.c7513.cn
http://www.zhongyajixie.com/news/74928.html

相关文章:

  • 郑州东站附近网站建设公司百度公司简介介绍
  • 建网站多少钱建个网站需要怎么做关键词推广哪家好
  • 郑州市招投标信息网吴中seo页面优化推广
  • 大亚湾建设局网站关键词优化怎么弄
  • 甘肃网站制作公司91手机用哪个浏览器
  • 南宁手机平台网站建设南京百度网站推广
  • 环境设计排版哪个网站好宁波网络推广运营公司电话
  • 生活服务手机网站开发海洋seo
  • 用易语言做钓鱼网站免费的网络推广渠道有哪些
  • 不知此网站枉做男人的网站手机自动排名次的软件
  • 怎么在百度提交网站百度搜索下载
  • 电子商务网站租用服务器费用知乎seo
  • 建设博客网站步骤外包网络推广公司推广网站
  • 荔浦网站开发地推任务网
  • 做企业网站用哪个cms互联网广告代理加盟
  • 武汉wordpress建站提高网站排名的软件
  • 成都网页制作服务好电脑系统优化软件排行榜
  • 做网站用哪种代码比较好推广seo做得比较好的企业案例
  • 国外建设网站用的是什么软件宁波如何做seo排名优化
  • 有学做美食的网站吗世界十大搜索引擎排名
  • 手机触屏网站模板看b站视频下载软件
  • 相册管理网站模板下载网络整合营销理论案例
  • 长春网站开发报价企业网站建设优化
  • 嘉兴做网站哪家好网站优化排名易下拉系统
  • 网站添加手机站独立站优化
  • 哪个网站做外贸比较好全媒体运营师培训费用
  • 新公司注册在哪个网站网络建站工作室
  • 仙桃网站建设杭州做seo的公司
  • 网站建设备案泉州关键词优化报价
  • 网站的主机地址站长工具之家seo查询