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的主要内容,如果未能解决你的问题,请参考以下文章

STL——vector

c++容器简单总结(续)

C++初阶---vector的使用及模拟实现 (待写。。)。

C++标准模板库STL最全总结收藏方便使用

vector

C++中的STL