• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

150725培训心得(vector)

vector(不定长数组)

         在C语言中,数组定义必须给定长度。可是有的时候太浪费空间,能够利用STL中vector函数来解决问题。
1 基本操作

(1)头文件#include<vector>


(2)创建vector对象。vector<int> vec;


(3)尾部插入数字:vec.push_back(a);


    尾部删除数字:vec.pop_back(a);

(4)使用下标訪问元素。cout<<vec[0]<<endl;      记住下标是从0開始的。


(5)插入元素:    vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;


(6)删除元素:    vec.erase(vec.begin()+2);删除第3个元素


                 vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0開始


(7)向量大小:vec.size();


(8)清空:vec.clear();


(9)初始化:memset(vec,0,sizeof(vec));


(10)判空:vec.empyt();       空则返回1,不空则返回0



   vector<int>a就是一个类似于int a[]的整数数组,仅仅只是他的长度不确定。能够用a.size()读取他的长度。


   而vector<int>a[max]就是一个二维数组,仅仅是第一维的大小是固定的(不超过max),二维的大小就不固定了,


   有时候n太大了,假设直接建立二维数组a[n][n]。这种二维数组绝对超出内存,就须要用到vector不定长的特性。

posted on 2017-05-02 09:15  cynchanpin  阅读(156)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3