zoukankan      html  css  js  c++  java
  • vector 详解

    1 头文件  #include<vector>

    2 定义

        vector<int>vec;//定义一个int型向量
        vector<int>vec(10);//初始大小为10
        vector<int>vec(10,1);//初始大小为10且值初始化为1
        vector<int>vec(tmp);//用tmp向量初始化
        vector<vector<int>>vec;//定义一个二维向量
        vector<int>::iterator it;//定义一个迭代器

    3 常规操作
        vec.push_back();//在数组的最后添加一个数据
        vec.pop_back();//去掉数组的最后一个数据
        vec.begin();//得到数组头的指针,用迭代器接受
        vec.end();//得到数组的最后一个单元+1的指针,用迭代器接受
        vec.clear();//移除容器中所有数据
        vec.empty();//判断容器是否为空
        vec.erase(s,t);//删除[beg,end)区间的数据
        vec.size();//回容器中实际数据的个数
        vec.insert(pos,data);//在pos处插入数据
        vec.back();//访问尾部元素
        vec.front();//访问头部元素

    4 遍历

        for(int i=0;i<vec.size();i++)
        {
            cout<<vec[i]<<" ";
        }
        for(vector<int>::iterator it=vec.begin();it!=vec.end();it++)
        {
            cout<<*it<<" ";
        }

    5 排序

       sort(vec.begin(),vec.end());//按升序排序
        reverse(vec.begin(),vec.end());//翻转后相当于降序

    6 删除元素

       vector<int>::iterator it=vec.begin();  
        it=it+2;  
        vec.erase(it);

    7插入元素

    vector<int>::iterator it=vec.begin();  
        it=it+2;  
        vec.insert(it);  

    eg 

    #include <iostream>
    #include <algorithm>
    #include <vector>
    using namespace std;
    int main()
    {
        vector <int> v;                            //定义vector
        vector<int>::iterator it;                 //定义一个vector迭代器
        for(int i = 10; i >= 1; i--)              //插入数据
            v.push_back(i);
        cout<<"输出:";
        for(it=v.begin(); it!=v.end(); it++)     //输出迭代器的值
            cout<<*it<<" ";
        cout<<endl;
        it-=1;
        cout<<"最后一个的值为:"<<*it<<"     "<<endl;
        v.erase(it);                             //删除最后一个元素
        cout <<"元素个数:" <<v.size() << endl;    //输出元素个数
        sort(v.begin(), v.end());                    //vector排序
        cout<<"排序后:";
        for(it=v.begin(); it!=v.end(); it++)          //输出vector元素
            cout << *it << " ";
        cout<<endl;
        v.insert(v.begin(),100) ;                 //在pos位置插入一个elem
        cout<<"第一个元素为:" <<v.front()<<endl;//输出第一个元素
        v.pop_back();                         //去掉最后一个元素
        cout << "元素个数:" <<v.size() << endl;//输出元素个数
        v.clear();                                //vector清空
        cout <<"清空后元素个数:" << v.size() << endl;    //输出元素个数
        return 0;
    }
    
  • 相关阅读:
    C++中获取高精度时间差
    有关宏的一个问题
    HDU 2504 又见GCD
    .NET中统一的存储过程调用方法(收藏)
    如何让你的SQL运行得更快
    最赚钱的5种成功创业可行方式
    SQL语句优化技术分析
    js document.getElementByID("aa")的位置
    写SQL时尽量不要对字段进行运算操作
    连接池的问题
  • 原文地址:https://www.cnblogs.com/zcy19990813/p/9702761.html
Copyright © 2011-2022 走看看