C++ STL(二)vector的用法
2020-12-07 10:20
标签:_each iostream and 算法 def const 循环 stl 一个 ##### vector的定义 ``` ``` ##### vector的操作 **删除** ##### 算法 **for_each** **random_shuffle** ``` C++ STL(二)vector的用法 标签:_each iostream and 算法 def const 循环 stl 一个 原文地址:https://www.cnblogs.com/littlepage/p/10989609.html
#include
#include
#include
using namespace std;
struct stu{
int age;
};
class xx{
string s;
};
void vectorDefine(){
vector
vector
vector
vector
vector
}
```
##### vector的构造
void vectorConstructor(){
vector
vector
vector
vector
vector
for(int i=0;i cout }
}
```
##### vector的容量
- vec.capacity();
**用法**
vector初始容量为0
给初始容量为x
进行vec.push_back(T t)操作后,容量在vs变为1.5倍
在devC++变为2倍
- vec.reserve(int i); 改变容量
- vec.size(); 求到vec的大小
- vec.resize(); 重新设置元素个数,容量不变
**增加**
- vec.push_back(T t); 在尾部增加一个元素
- vec[int index]; 输出index位置的元素
- vec.at(int index); 输出index位置的元素
- vec.back(); 返回尾巴元素
- vec.insert(iterator i,T t);在iterator处插入元素t
- vec.insert(iterator i,int num.T t)在iterator处插入num个元素T
- vec.pop_back(); 删除尾巴元素
- vec.erase(iterator i); 删除iterator位置的元素
- vec.clear(); 清除所有元素
**sort**
sort(iterator begin,iterator end) 从小到大排序
sort(iterator begin,iterator end,greater\
for_each(iterator begin,iterator end,void operatorFun())
进行每个元素操作的功能
srand((unsigned int)time(NULL));
random_shuffle(iterator begin,iterator end);
随机打乱顺序
#include
#include
#include
#include
using namespace std;
int main(int argc, char** argv) {
vector
vec.push_back(5);
vec.push_back(10);
vec.push_back(15);
srand((unsigned int)time(NULL));
random_shuffle(vec.begin(),vec.end());
for(int i=0;i
return 0;
}
```
下一篇:Python常见数据类型及操作