C++ vector之iterator

论坛 期权论坛 脚本     
匿名技术用户   2021-1-2 20:04   36   0
  1. #include <IOSTREAM>
  2. #include <VECTOR>
  3. using namespace std;
  4. int main()
  5. {
  6. cout<<"By:Sayln_wu"<<endl<<endl;
  7. //编写10个元素的vector对象。用迭代器把每个元素值改为当前值+2.
  8. vector<int> ivec(3,8);
  9. cout<<"原值为:"<<endl;
  10. int i=0;
  11. for (vector<int>::iterator iter=ivec.begin();iter!=ivec.end();iter++)
  12. {
  13. i++;
  14. cout<< *iter <<endl;
  15. *iter=(*iter)+i;
  16. }
  17. //可以放在上面输出,下面是为了使用const_iterator。
  18. cout<<"修改后的值为:"<<endl;
  19. for(vector<int>::const_iterator citer=ivec.begin();citer!=ivec.end();citer++)
  20. {
  21. cout<<*citer<<endl;
  22. }
  23. //求vector中间值
  24. vector<int>::iterator min = ivec.begin() +ivec.size()/2;
  25. cout<<"中间值为:"<<*min<<endl;
  26. return 0;
  27. }

截图如下:

在上述代码中用到了两个iterator,一个是iterator,另一个是const_iterator。const_iterator是一个只读的迭代器。

当然还有一个是const iterator ,这个也可以,不过不能指定指定位置。所以很少使用。

*iter 是读取ivec的当前值。 *操作符为解引用操作符。

值得一看的还有最下面的求iver的中间值。

vector<int>::iterator min = ivec.begin() +ivec.size()/2;

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP