码迷,mamicode.com
首页 > 其他好文 > 详细

vector

时间:2016-05-24 12:02:02      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:

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

标签:

原文地址:http://www.cnblogs.com/jk0011/p/5522722.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!