zoukankan      html  css  js  c++  java
  • C++之vector

    在C++的标准库中,有个名为 vector 的类模板,以下将是对其的一点总结;

    (1)需要的头文件以及命名空间:

    #include <vector>
    using std::vector;

    (2)vector 的 简介

      vector 表示 对象的集合,其中所有对象的类型都相同,常被称为“容器”。

       这个对象可以是任何对象,注意引用并不是对象,包括基础类型,类  甚至是  vector  类型。

    (3)vector 的初始化

    vector<T> v1;     //v1是一个空vector,元素类型为T类型,执行默认初始化;
    vector<T> v1(v2);  //v1中包含v2中所有元素的副本,等价 v1 = v2;
    vector<T> v1(n ,val);  //包含n个元素,每个元素的值都是 val;
    vector<T> v1(n);  // 包含 n 个元素,默认执行初始化;
    vecrot<T> v1{a,b,c,d...} //包含相应个数的元素,每个元素都是相应的值。

    (4)vector 的一些相关操作(相关实例都会放在后面的云盘里以帮助理解)

    v.push_back(i)    在容器的末尾插入元素 i ;
    v.pop_back();    删除容器末尾的元素
    v.insert()    在特殊位置的元素前插入一个新的元素,元素插入后会增加容器的大小
    v.erase()    从容器中删除一个 或者 一段(v.erase(first,end))元素
    v.swap(v1)    交换容器 v 和 v1 的元素
    v.begin()    得到容器第一个元素的值
    v.end()    得到容器“尾元素的下一个位置”,是容器的一个本不存在的“尾后”
    v.clear()    清空容器
    v.size()    获取容器的大小,返回一个无符号的数
    v.empty()    若容器为空,返回true,否则返回false
    vector<int>::iterator it;   //使用迭代器访问容器
    for(it=vec.begin();it!=vec.end();it++)
        cout<<*it<<endl;

    二  虽然容器的对象可以为类,但是注意 vector 不要定义在类中,你能想象一下在写入文件时,一个类里面有一个vector,这个vector里面又包含了这个类的感觉。最后写入文件的只有一个类的值。

    #include <iostream>
    #include <vector>
    
    class Student{
    private: 
       int number;
       char[10] name;      
    };
    
    vector<Student> v1;

    三 算法

      

    (1)使用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),这样就降序排序。

    关于之前提到的云盘连接 

     https://yunpan.cn/OckwF8MqmhdHz9 (提取码:129d)

  • 相关阅读:
    KVM虚拟化网卡管理
    KVM虚拟化存储管理
    OpenStack简介
    KVM虚拟机管理
    Jenkins持续集成
    Python函数
    Python文件处理
    Python语句
    Python数据类型的用法
    微信服务号开发小项目总结
  • 原文地址:https://www.cnblogs.com/erhuoL/p/5869976.html
Copyright © 2011-2022 走看看