• 数据结构2


      vector 容器,向量

    一、  能存放任意类型的动态数组,能增加和压缩数据

      注:如果表示向量长度较长(向量内部保存很多数)容易导致泄露,效率很低

    二、写法: double  Distance(vector< int> & a,vector < int >&b)  其中“ & ”不能少

    实例;

    vector<int>test;  建立一个vector,int 为数组元素的数据类型,test 为动态数组名

       vector < int > test ; //建立一个vector  (一维数组)

    test.push_back(1);

    test.push_back(2);  //把1 2 压入vector 中 test [0]是 ‘ 1 ’    test [1]是 ‘ 2 ’ 

    vector<vector<point2f>>points;  定义一个二维数组

    points[0].size();  //第一行的列数

    1、基本操作

    1、头文件: #include<vector>

    2、创建vector对象: vector<int> vec;

    3、尾部插入数字: vec.push_back(a);

    4、使用下标访问元素: cout<<vec[0]<<endl;

    5、使用迭代器访问元素   eg:

    vector<int>::iterator it;

    for( it=vec.begin(); it!=vec.end(); it++ )

    {

        it=vec.begin(); it!=vec.end(); it++

     cout <<*it<<endl;

    }

    6、插入元素:vec.insert(vec.begin()+i,a);   在i+个元素前插入a

    7、删除元素:vec.erase(vec.begin()+2); 删除第3个元素

    vec.erase(vec.begin()+i,vec.end()+ j ); 删除区间从[ i,j-1]; 区间从0开始

        front() 访问某一个元素(第一个元素)  back() 访问最后一个元素

        begin() 表示第一个元素     end() 表示最后一个元素

    8、向量大小: vec.z=size();

    9、清空: vec.clear(); (清空所有元素)

    重说明:

      vector中元素不仅可为  int  double  string  还可以为结构体  注意,结构体要定义为全局,否则会出错

     三、算法:逆序排序

    1、使用 reverse 将元素翻转;需用头文件  #include <algorithm>

    eg:

        reverse ( vec.begin( ) , vec.end( ) );  将元素翻转,即 “ 逆至 ”排序

    升序排序    sort排序

     头文件:#include<algorithm>

      sort( vec.begin( ) , vec.end( ) );  默认升序(从小到大)

    降序排序

    bool  comp (const int &a,const int & b )

    {

      return a>b;

    }

    调用降序: sort (vec.begin(), vec.end(),comp)

    vector  中的push_back的用法和作用

    push_back  简单作用是在字符串结尾插入一个字符

    push_back 它在c++中的vector头文件里面

    在vector类中它的作用是在此类尾部加一个数据

    string中也有它,作用是字符串后插如一个字符  

      push_back  函数原型

    void push_back( value_type_ch ); 

    void push_back (value_type_ch);

    参数_ch  意思是“ 这个字符将被添加到字符串末尾

    eg:

      void push_back (const_ty&_x)

    {

      insret ( end (),_x );  在后面添加_x字符

    }

  • 相关阅读:
    骑行封龙山
    静夜
    骑行伏羲台
    我?
    生活挺好
    多事之秋,大家注意安全
    看不到啊看不到
    个人时间管理
    给DataGrid设置中文列名
    食用油是那么让人又爱又恨!
  • 原文地址:https://www.cnblogs.com/leiminghui/p/9495550.html
Copyright © 2020-2023  润新知