vector
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector相关的知识,希望对你有一定的参考价值。
Vector 类在 java 中可以实现自动增长的对象数组; vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。
vector实现:
底层用数组实现,根据类型申请空间,当空间不够会重新申请空间,所以也叫做动态数组
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
using std::vector;
//sort 比较函数
bool comp(const int &a, const int &b){
return a > b;
}
int main()
{
//vector 封装成了模板,模板展开会生成一个int 类型的vector 类
vector<int> v;
//iterator 是vector的内部类实现的迭代器
vector<int>::iterator it;//const_iterator
int i;
for(i=1;i<=7;i++){
//vector 只能尾部插入元素,因为底层是数组实现的
v.push_back(i);
}
for(it=v.begin();it!=v.end();++it){
//重载了×号运算符
cout<<*it<<endl;
}
cout<<endl;
for(int j = 0;j<v.size();j++){
cout<<v[j]<<endl;
}
//vector 查找某个元素
it =find(v.begin(),v.end(),4);
if(it!=v.end()){
cout<<"find 4"<<endl;
//删除元素
v.erase(it);
}else{
cout<<"not find 4"<<endl;
}
//插入4个100
v.insert(v.begin(),4,100);
//使用sort的自定义排序函数comp来对vector排序
sort(v.begin(),v.end(),comp);
for(int j = 0;j<v.size();j++){
cout<<v[j]<<endl;
}
v.clear();
for(it=v.begin();it!=v.end();++it){
cout<<*it<<endl;
}
}
以上是关于vector的主要内容,如果未能解决你的问题,请参考以下文章