首页 > 其他分享 >vector

vector

时间:2024-03-02 18:55:04浏览次数:20  
标签:num 函数 元素 back vector push

vector的定义和特征

  • 动态数组容器
  • 存储一系列相同类型的元素
  • 标准库<vector>中定义的模板类

声明

  • 加头文件<vector>
  • vector<T> vec; T☞元素类型
  • 容器大小:动态数组可以自己调节
  • 元素访问:通过索引来访问vector中的元素,索引从0开始,到size()-1.可以使用[]运算符或at()函数来访问元素
  • 元素的添加和删除:可以使用push_back()函数再vector的末尾添加元素,使用pop_back()函数删除末尾元素insert()函数在指定位置插入元素,erase()函数删除指定位置的元素
  • 容器大小管理:可以使用size()函数获取vector中元素的数量,使用empty()函数检查vector是否为空.还可以使用resize()函数调整vector的大小.
  • 迭代器:vector提供了迭代器,可以用于遍历容器中的元素.begin()函数获取指向第一个元素的迭代器,使用end()函数获取指向最后一个元素之后位置的迭代器.

vector的常用函数

  • 容器大小:动态数组可以自己调节
  • 元素访问:通过索引来访问vector中的元素,索引从0开始,到size()-1.可以使用[]运算符或at()函数来访问元素
  • 元素的添加和删除:可以使用push_back()函数再vector的末尾添加元素,使用pop_back()函数删除末尾元素insert()函数在指定位置插入元素,erase()函数删除指定位置的元素
  • 容器大小管理:可以使用size()函数获取vector中元素的数量,使用empty()函数检查vector是否为空.还可以使用resize()函数调整vector的大小.
  • 迭代器:vector提供了迭代器,可以用于遍历容器中的元素.begin()函数获取指向第一个元素的迭代器,使用end()函数获取指向最后一个元素之后位置的迭代器.

vector排序去重

排序sort

  • 头文件<algorithm>

去重unique

  • 头文件<algorithm>

代码示例

#include<bits/stdc++.h>
using namespace std;
int main()
{
    vector<int> num;//建立一个容器
    //插入元素
	num.push_back(5);
    num.push_back(6);
    num.push_back(7);
    num.push_back(9);
    num.push_back(2);
    num.push_back(1);
    num.push_back(3);
    num.push_back(4);
	//打印元素
    cout << "原始向量中的元素:";
    //for循环遍历
	for (const auto& num : num){
        cout << num <<" ";
    }
    cout << endl;
	//对容器中元素进行排序
    sort(num.begin(),num.end());
    cout << "排序后的向量:";
    for (const auto& num : num){
        cout << num <<" ";
    }
    cout << endl;
   //先对容器中相邻相同元素进行去重,然后再删除相同的元素 num.erase(unique(num.begin(),num.end()),num.end());
    cout << "去重后的向量:";
    for(const auto& num : num){
        cout << num <<" ";
    }
    cout << endl;
    num.insert(num.begin() + 2,3);//在下标为2的位置插入3
    cout << "插入元素后的向量:";
    for(const auto& num : num){
        cout << num <<" ";
    }
    cout << endl;
    num.erase(num.begin() + 4);//删去下标为4的值
    cout << "删除元素后的向量:";
    for(const auto& num : num){
        cout << num <<" ";
    }
    cout << endl;
	//检查容器是否为空
    if(num.empty()){
        cout << "向量为空" << endl;

    }else{
        cout << "向量不为空"<< endl;

    }
    cout << "向亮的大小:" << num.size() << endl;
	//删除容器中元素
    num.clear();
    if(num.empty()){
        cout << "向量为空" << endl;

    }else{
        cout << "向量不为空" << endl;
    }
    return 0;
}

标签:num,函数,元素,back,vector,push
From: https://www.cnblogs.com/777CC/p/18049058

相关文章

  • vector用法
    1.vector的构造函数函数原型:1.vector<T>v;//使用模板类,默认构造函数2.vector(v.begin(),v.end());//将[v.begin(),v.end())区间中的元素拷贝给本身3.vextor(n,elem);//将n个elem拷贝给本身4.vector(constvector&v);//拷贝构造函数2.vector的赋值操作函数原型:1.vector&o......
  • STL-vector模拟实现
    #pragmaonce#include<assert.h>#include<iostream>usingstd::cout;usingstd::endl;usingstd::cin;namespacetest{//#include<algorithm>//模板参数省略:1.作为时2.作为类型名template<classT>//数组名:类型名:xx数组classvector......
  • Qt QVector和vector以及QMap和map的遍历性能对比
    使用Qt中的容器给C++开发带来很大的便利,而且QVector和QMap等容器扩展的一些成员函数也是很方便的。但是Qt的这些容器和STL库的容器比,效率到底怎么样?我就写了几个简单的遍历的例子,测试了QVector、vector等容器的那些方法效率更高。测试环境:系统:windows10编译器:MingGWmingw......
  • Qt QVector、QList、QSet和QMap:性能与用途比较
    Qt提供了多种容器类,用于存储和管理数据。其中,QVector、QList、QSet和QMap是最常用的几种。这些容器类在性能和用途方面存在一些差异,选择合适的容器对于提高应用程序的效率和正确性至关重要。下面我们将从以下几个方面对这四种容器进行比较:1.存储方式QVector:动态数组,元素在......
  • C++ STL 容器-Vector类型
    C++STL容器-Vector类型std::vector是C++标准库中的一个动态数组容器,它提供了随机访问迭代器,因此你可以像使用普通数组一样使用vector。vector容器可以动态地增长和缩小,这意味着你可以在不预先指定数组大小的情况下向其中添加或删除元素。特点动态大小:vector的大小可以在运......
  • [Rust] Vectors in Rust
    Inthislessonyou'lllearnabout Vec<T>,or Vectors.VectorsarelikeArrays,acollectionofvaluesofthesametype,butasopposedtoArrays,Vectorscanchangeinsize.#[allow(warnings)]fnmain(){letmutnumbers=vec![1,4];......
  • Vector和deque小案例
    打分案例1.目的:5个学生,10个评委,10个评委的分数去掉最高和最低分,取平均分就是学生的分数2.思路:​ 1.抽象学生​ 2.使用vector容器存储学生​ 3.把分数放入deque容器,然后对deque容器进行排序,之后删除首尾元素3.流程:​ 1.创建学生​ 2.评委给学生打分​ 3.根据学生的分数排......
  • Vector
    vector容器(重点,常用容器)1.数据结构:连续存储空间2.迭代器:随机迭代器3.vector容器动态增长原理​ 1.当存储空不够时,会开辟另一块大的空间,然后把数据拷贝过去,最后在销毁原来的空间​ 2.申请的空间,会比用户需求大一点​ 3.重新分配空间,那么原来的迭代器就会失效​ 所谓动......
  • c++vector
    下面是我在学习过程中对vector的理解,希望能够帮助到大家;vector(容器)(本质和数组一致)不过其对象长度不定.与数组不一样的是在使用vector是需要写头文件#include下面举出几个例子来说明:vectorv;  建立了一个名为v的int类型的容器,在这里并没有初始话值为多少,所以此时为......
  • Vector扩容机制
    C++Vector是如何自动扩容的?​ C++的vector是一个动态数组,它可以自动调整大小以容纳更多的元素。当向vector中添加元素时,如果当前容量不足以容纳新元素,就会触发扩容操作。vector的扩容策略通常是按照一定的增长因子来进行扩容,具体增长因子的选择可能因编译器而异。一种常......