向量容器vector操作

0
11

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;
}

  程序运行结果显示:

<

发布回复

请输入评论!
请输入你的名字