zoukankan      html  css  js  c++  java
  • 向量容器vector操作

    1.向量容器vector

    1.1 vector说明

    • 进行vector操作前应添加头文件#include<vector>;
    • vector是向量类型,可以容纳许多类型的数据,因此也被称为容器;
    • 可以理解为动态数组,是封装好了的类,可以在运行阶段设置长度;
    • 具有数组的快速索引方式;
    • 可以插入和删除元素。

    1.2 建议使用场景

    • 开始就知道元素的数量;
    • 对数据的索引和随机访问频繁;
    • 插入和删除大多数在尾端。

    1.3 vector初始化

      使用格式:vector<数据类型> 变量名

      常用的方式有如下几种:

    • 方式1:
    /* 定义一个整型向量(大小没有指定,可以动态的向里面添加删除) */
    vector<int> a
    • 方式2:
    /* 定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定 */
    vector<int> a(10);
    • 方式3:
     /* 定义具有10个整型元素的向量,且给出的每个元素初值为1 */
    vector<int> a(10,1);

    1.4 常用操作

     1.5 用例

    #include<iostream>
    #include<vector>
    #include<algorithm>
    
    using namespace std;
    int main()
    {
        int i;
        /*定义一个double类型的向量容器,不指定容器的大小 */
        vector<double> vectorDouble = {12.1, 12.2, 12.3, 12.4};
        cout<<"普通遍历方式:"<<endl;
        cout<<"插入数字前遍历:"<<endl;
        /* 遍历容器中的成员 */
        for(i = 0; i < vectorDouble.size(); i++)
        {
            cout<<vectorDouble[i]<<endl;
        }
        /* 向容器中插入数字 */
        vectorDouble.push_back(110.1);
        cout<<"插入数字后遍历:"<<endl;
        /* 遍历容器中的成员 */
        for(i = 0; i < vectorDouble.size(); i++)
        {
            cout<<vectorDouble[i]<<endl;
        }
        /* 集合通用的遍历方法:使用迭代器 iterator */
        vector<double>::iterator it;
        cout<<"使用迭代器方式遍历:"<<endl;
        /* 遍历容器中的成员 */
        for(it = vectorDouble.begin(); it != vectorDouble.end(); ++it)
        {
            cout<<*it<<endl;
        }
        cout<<"使用迭代器正排序:"<<endl;
        /*正 排序 */
        sort(vectorDouble.begin(), vectorDouble.end());
        /* 遍历容器中的成员 */
        for(it = vectorDouble.begin(); it != vectorDouble.end(); ++it)
        {
            cout<<*it<<endl;
        }
        cout<<"使用迭代器逆排序:"<<endl;
        /*  逆排序*/
        reverse(vectorDouble.begin(), vectorDouble.end());
        /* 遍历容器中的成员 */
        for(it = vectorDouble.begin(); it != vectorDouble.end(); ++it)
        {
            cout<<*it<<endl;
        }
        return 0;
    }

       程序运行结果显示:

  • 相关阅读:
    ERROR 1290 (HY000): The MySQL server is running with&nbs
    mysql ERROR 1045 (28000): Access denied for user解决方法
    今天,启动MySQL服务器失败,
    centos 7 安装卸载apache(httpd)服务
    Kafka——彻底删除Topic
    HBase管理与监控——彻底删除HBase数据
    phoenix创建表失败:phoenixIOException: Max attempts exceeded
    Kafka——指定位移消费(回溯消费)
    Java日志体系(八)最佳实践
    Java日志体系(七)日志框架切换
  • 原文地址:https://www.cnblogs.com/wenhao-Web/p/12255489.html
Copyright © 2011-2022 走看看