码迷,mamicode.com
首页 > 其他好文 > 详细

STL vector

时间:2016-05-31 22:12:40      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
#include<vector>
#include<iterator>
using namespace std;


int main()
{
      //创建vector
      vector<int> c;
      vector<int> c1(12);//创建一个只有12个元素的vector

      c.push_back(1);
      c.push_back(2);
      c.push_back(3);
      c.push_back(4);
      c.push_back(5);
      c.push_back(6);

      c.push_back(1); //在容器最后位置添加一个元素elem
      c.pop_back(); //删除容器最后位置处的元素


      cout<<c.at(0);//类似数组的寻址方式返回c(0)第一个元素

      cout<<*c.begin(); //返回指向容器最开始位置数据的指针
      cout<<*(c.end()-1); // 返回指向容器最后一个数据单元的指针 + 1

      c.rbegin(); // 将vector反转后的开始指针返回(其实就是原来的end - 1)
      c.rend(); // 将vector反转后的结束指针返回(其实就是原来的begin - 1)
      //迭代器遍历
      vector<int>::iterator it = c.begin();
      for (it; it != c.end(); it++)
        cout << *it;
      //逆序
    vector<int>::reverse_iterator rit ;
    for (rit = c.rbegin(); rit != c.rend(); rit++)
        cout << *rit;

    cout<<c.front(); //返回容器最开始单元数据的引用
    cout<< c.back(); //返回容器最后一个数据的引用


    cout<< c.max_size();//返回容器的最大容量
    cout<< c.size();//返回当前容器中实际存放元素的个数

 

    c.erase(c.begin()); //删除指针p指向位置的数据,返回下指向下一个数据位置的指针(迭代器)
    c.erase(c.begin(), c.end()); // 删除begin, end区间的数据,返回指向下一个数据位置的指针(迭代器)
    c.clear(); //清除所有数据

 

    c.empty(); // 判断容器是否为空,若为空返回true,否则返回false

    c1.swap(c); // 交换两个容器中的数据

    c.insert(c.begin(), 5); // 在指针c.begin()+p指向的位置插入数据elem, 返回指向elem位置的指针
    c.insert(c.begin(), 5, 5); // 在位置p插入n个elem数据,无返回值
    c.insert(c.begin(), c.begin(), c.end());// 在位置p插入在区间[begin, end)的数据,无返回值
    cin.get();
}

STL vector

标签:

原文地址:http://www.cnblogs.com/ranranblog/p/5547391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!