zoukankan      html  css  js  c++  java
  • STL----vector

               vector的一些常用操作

     

    注意遍历的时候不能这么写

    for(int i=0;i<=v[x].size()-1;++i)

    只能这么写

     for(int i=0;i<v[x].size();++i)

    1. 定义  vector <int> vec或者vector <int> vec[50]; 
    2. 支持随机访问,可以像[i]一样取值,a但是不能在任意位置o(1)插入。只能在尾部增删。
    3. size返回长度n,empty返回bool类型表明vec是否为空。
    4. clear,清空
    5. begin()返回指向a第一个元素的迭代器,若a非空,*a.begin 和a[0]作用相同。
    6. end()返回指向a尾部。*a.end()与a[n]都是越界访问。
    7. 遍历vector 
      for(int i = 0;i < a.size();++i) 
              cout<<a[i]<<endl;
      for(int i = 0;i < a[k].size();++i) cout<<a[k][i]<<endl;
      for(vector<int>::iterator it = a.begin(); it != a.end() ; ++it) cout<<*it<<endl; 

      6.front和back分别返回第一个和最后一个元素

      

         7.插入删除。

      8.用vector代替灵界表保存有向图

    vector<int> ver[1000],edge[1000];
    void add(int x,int y,int z)
    {
        ver[x].push_back(y);
        edge[x].push_back(z);
    }
    
        //遍历由x出发的边
        for(int i=0;i<ver[x].size();++i)
        {
            // 有向边(x,y,z)
            int y = ver[x][i],z = edge[x][i];
        }
  • 相关阅读:
    开发一个App的成本是多少?
    自定义Drawable
    数据库服务软件类型和配置redis
    分库分表
    创建视图
    部署MYSQL高可用集群
    读写分离《二》
    读写分离和多实例
    部署mysql主从同步
    备份和恢复
  • 原文地址:https://www.cnblogs.com/jrfr/p/11217408.html
Copyright © 2011-2022 走看看