STL之vector常用方法 二维vector 取vector数组指针 您所在的位置:网站首页 二维数组转化为指针数组 STL之vector常用方法 二维vector 取vector数组指针

STL之vector常用方法 二维vector 取vector数组指针

2024-07-16 08:26| 来源: 网络整理| 查看: 265

一.使用包含 #include using namespace std; 二.声明

1、一维数组:

vector a; vector a(100, 0); //声明长度为100值为0的vector vector a(b.begin()+1, b.end()-2);

2、动态创建m*n的二维vector:

方法一:

vector arr; (注意后有空格或者使用typedef定义) arr.resize(m); for(int i=0;i10,20,30}; auto it = myvector.emplace ( myvector.begin()+1, 100 ); // 在1位置插入100 myvector.emplace ( it, 200 ); //在100位置插入200 myvector.emplace ( myvector.end(), 300 ); // 在结尾插入300 结果 :myvector contains: 10 200 100 20 30 300

emplace_back (100) 类似于push_back()

四.删

pop_back() 去掉数组的最后一个数据

myvector.push_back (100); myvector.push_back (200); while (!myvector.empty()) { sum+=myvector.back(); myvector.pop_back(); }

erase() 删除指针指向的数据项,iterator clear() 清空当前的vector

五.改

insert(pos,elem) 在pos位置插入一个elem拷贝

b.insert(a.begin(),10); //在开头位置插入,stl插入机制一般是在当前位置的前面插入 b.insert(b.end(),b.begin(),b.end()); //在结尾位置插入vector b 六.查

a[5] at() 得到index位置的数据 begin() 得到数组头的指针 end() 得到数组的最后一个单元+1的指针 rbegin() 将vector反转后的开始指针返回 rend() 将vector反转后的结束指针返回

front() 得到数组头的引用 back() 得到数组的最后一个单元的引用

myvector.push_back(78); myvector.push_back(16); // now front equals 78, and back 16 myvector.front() -= myvector.back();

max_size() 得到vector最大可以是多大 capacity() 当前vector分配的大小 size() 当前使用数据的大小 empty() 判断vector是否为空

vector::iterator it = find( li.begin( ), li.end( ), c ); //遍历查找c if(iter != vec.end()){} else{} 如果vector中保存自定义类型struct或class,需要自定义查找函数: class DemoStruct {   string gpcode;   bool operator == (const DemoStruct & obj) const //重载 “==” 操作符,函数最后的 const 别忘了,否则会报错。   {     return gpcode == obj.gpcode;   } }; vector::iterator iter; iter = find(vec_struct.begin(), vec_struct.end(), tmpdemo); 七.遍历 for(vector::iterator it=a.begin(); it!=a.end(); it++) cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有