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

网站建站知识公司网站seo外包

网站建站知识,公司网站seo外包,wordpress文字模板,公司域名注册要收费吗迭代器介绍 迭代器(iterator):容器类型内置的“指针” - 使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素。 - 有迭代器的类型都拥有 begin 和 end 成员- begin:返回指向第一个元素(或字…

迭代器介绍

迭代器(iterator):容器类型内置的“指针”
- 使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素。
- 有迭代器的类型都拥有 begin 和 end 成员- begin:返回指向第一个元素(或字符)的迭代器- end:尾后迭代器,即尾元素的下一个位置(一个本不存在的元素) 

使用迭代器

auto b = v.begin(),e = v.end(); // b和e的类型相同

如果容器为空,则begin和end返回的是同一个迭代器,都是尾后迭代器

在这里插入图片描述
举个例子,下面利用迭代器实现

string s = "some string";
if(s.begin() != s.end()) { //确保s非空auto it = s.begin();  //it表示s的第一个字符*it = toupper(*it);   //将当前字符改成大写形式
}  //Some string

使用迭代器遍历容器

for(auto it = s.begin(); it != s.end() && !isspace(*it); ++it) {*it = toupper(*it);
}  // SOME string
  • 迭代器类型
vector<int>::iterator it;     //it能读写元素
vector<int>::const_iterator it2;//it2只能读元素,不可以写元素

如果vector或者string对象是一个常量,只能使用const_iterator;如果不是常量,则既能使用iterator也能使用const_iterator

  • 正序迭代
begin();end()   //iterator
cbegin();cend()  //const_iterator
  • 逆序迭代
rbegin();rend()  //reverse_iterator
int main() {vector<int> vec{0,1,2,3,4,5,6,7,8,9};vector<int>::reverse_iterator it;for (it = vec.rbegin();         // 迭代器指向最后一个元素it != vec.rend();          // rend() 指向第一个元素的前一个++it)					    // ++操作访问前一个元素cout << *it<< " ";    // prints 9,8,7,...0return 0;
}

迭代器解引用

vector<string> vec;
auto it = vec.begin();
(*it).empty()  //检查vector中的元素是否为空,只需检查it所指字符串是否为空
  • 箭头运算符(->)
it->mem & (*it).mem  表达的意思相同

WARNING

任何一种可能改变vector对象容量的操作,比如push_back,都会使该vector对象的迭代器失效。
但凡是使用了迭代器的循环体,都不要向迭代器所属的容器添加元素。

迭代器运算

在这里插入图片描述
或者是两个迭代器相减,就可以得到中间隔了多少个元素。

使用迭代器运算的一个经典算法是二分搜索:

vector<int> text = {1,2,3,4,5};auto sought = 2;auto beg = text.begin(), end = text.end();auto mid = beg + (end - beg) / 2;   //初始状态的中间点while(mid != end && *mid != sought) {if(sought < *mid) end = mid;else beg = mid + 1;mid = beg + (end - beg) / 2;   //新的中间点}

循环过程终止时,mid或者等于end或者指向要找的元素。如果说mid等于end,说说明text中没有我们要找的元素。

http://www.yidumall.com/news/76789.html

相关文章:

  • 自个做网站教程大数据营销系统
  • 网站中的表格不受限制的浏览器
  • 河北建设工程信息网官网 费用中项网sem优化公司
  • 网站管理系统优化大师软件下载
  • 国外做动运服装的网站网络推广技巧
  • 网站上哪个做相片书好青岛seo软件
  • php做简单网站教程视频自建站
  • 郑州专业网站推广公司淘宝运营培训班哪里有
  • 丰台青岛网站建设网络推广和竞价怎么做
  • 建一个网站首先要怎么做推广产品的方法
  • 网络域名综合查询徐州seo排名收费
  • 苏州网站建设软件百度客服在哪里找
  • 短视频素材下载网站 免费小程序开发工具
  • 网络营销之网站建设网推app
  • 网站ui是平面设计吗b站推广渠道
  • 微网站界面设计基础德州seo整站优化
  • 学校做网站的目的seo如何优化排名
  • windows2008web做网站东莞企业网站模板建站
  • 做暧动漫视频在线观看网站营销型网站建设报价
  • 网站空间是不是服务器网页设计制作网站代码
  • 做网站可以用ai做google搜索引擎入口google
  • 匠王红木在那个网站做众筹如何进行网站制作
  • 如何构思公司网站5118和百度指数
  • 做盈利的设计素材网站有前途新开传奇网站
  • 做网站有发展吗网站排名查询工具
  • wordpress加密页面在线刷seo
  • 做网站犯法企业宣传标语
  • 临沂罗庄建设局网站软件外包
  • 电商网站建设与运维需要的软件网络优化工程师证书
  • 免费下载网站模板爱站工具包的模块