一、vector的介绍

vector是C++里面的一个容器,也是我们数学上面理解的向量,有一些比较常见的操作。

二、vector的定义

#include<vector>
using namespace std;//int 说明的是vector存储的数据类型
vector<int> odd_vector;

三、vector的一些操作(具体调用方式自行查找)

1.push_back   在数组的最后添加一个数据
2.pop_back    去掉数组的最后一个数据 
3.at                得到编号位置的数据
4.begin           得到数组头的指针
5.end             得到数组的最后一个单元+1的指针
6.front        得到数组头的引用
7.back            得到数组的最后一个单元的引用
8.max_size     得到vector最大可以是多大
9.capacity       当前vector分配的大小
10.size           当前使用数据的大小
11.resize         改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12.reserve      改变当前vecotr所分配空间的大小
13.erase         删除指针指向的数据项
14.clear          清空当前的vector
15.rbegin        将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend          将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty        判断vector是否为空(vector.empty())
18.swap         与另一个vector交换数据
三、使用sort对于vector分类

用法:

#inlcude <algorithm>
sort(vector.begin(),vector.end());

例子如下:

#include <algorithm> //使用sort需要包含这个头文件
//这个方法的主要的作用是把一个向量里面的奇数找出来放到原来的位置
class Kata
{
public:std::vector<int> sortArray(std::vector<int> array){if(array.empty())return array;std::vector<int> odd_vector;for(int i=0;i<array.size();i++){if(array[i]%2==1){odd_vector.push_back(array[i]);}}if(odd_vector.size()>0){//sort对于vector向量的排序,升序排列sort(odd_vector.begin(),odd_vector.end());int number=0;for(int i=0;i<array.size();i++){if(array[i]%2==1){array[i]=odd_vector[number];number++;}}}return array;}
};

【转】C++学习二 vector的用法(使用sort对于vector排序)相关推荐

  1. JVM学习--(二)内存模型、可见性、指令重排序

    我们将根据JVM的内存模型探索java当中变量的可见性以及不同的java指令在并发时可能发生的指令重排序的情况. 内存模型 首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做,我们再 ...

  2. 关于C++中vector和set使用sort方法进行排序

    C++中vector和set都是非常方便的容器, sort方法是algorithm头文件里的一个标准函数,能进行高效的排序,默认是按元素从小到大排序 将sort方法用到vector和set中能实现多种 ...

  3. c语言vector+erase用法,vector.erase用法注意事项

    转自->这里 vector::erase():从指定容器删除指定位置的元素或某段范围内的元素 vector::erase()方法有两种重载形式 如下: iterator erase(iterat ...

  4. c++ vector 一部分_C++逆向学习(二) vector

    此文为原创文章 作者:ret2nullptr@先知社区 恭喜作者获得 价值100元的天猫超市享淘卡一张 欢迎更多优质原创.翻译作者加入 ASRC文章奖励计划 欢迎多多投稿到先知社区 每天一篇优质技术好 ...

  5. OpenCV学习(二十) :分水岭算法:watershed()

    OpenCV学习(二十) :分水岭算法:watershed() 参考博客: OpenCV-分水岭算法 图像处理--分水岭算法 OpenCV学习(7) 分水岭算法(1) Opencv分水岭算法--wat ...

  6. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  7. OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack()

    OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack() 参考博客: Harris角点检测原理详解 Harri ...

  8. OpenCV学习(二十一) :计算图像连通分量:connectedComponents(),connectedComponentsWithStats()

    OpenCV学习(二十一) :计算图像连通分量:connectedComponents(),connectedComponentsWithStats() 1.connectedComponents() ...

  9. C++ vector的用法总结(整理)

    vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. vec ...

最新文章

  1. Python中的标准数据类型
  2. python3 selenium webdriver 启动三大浏览器Firefox,Chrome,IE
  3. python opengl 入门
  4. JAVA虚拟机体系结构
  5. SQL Server 2008中的hierarchyid
  6. anaconda与pip 清华镜像源
  7. 数论--中国剩余定理模板
  8. linux 串口读取陀螺仪,stm32读取陀螺仪MPU6050发送数据到串口
  9. JVM虚拟机-Class文件之常量池
  10. HTML项目代码编写规范
  11. 移动web端的react.js组件化方案
  12. docker改变镜像源
  13. 【资源共享】SPI开发指南
  14. Kafka的Topic删不掉
  15. AIOps对监控报警架构的挑战
  16. 山东省技能兴鲁职业技能竞赛-人工智能工程技术人员
  17. 如何使用lerna管理你的仓库
  18. 按键精灵按键助手x86x64内存插件(安卓内存插件)
  19. 2023计算机毕业设计SSM最新选题之java中药城药材销售管理系统eah41
  20. transforms.ToTensor()与transforms.Normalize()函数解析

热门文章

  1. 【OS学习笔记】三十三 保护模式九:分页机制对应的汇编代码之---用户程序代码
  2. cursor.execute(sql) 执行结果集是有记录的 但是num=cursor.rownumber 返回值为0
  3. SQL Server--疑难杂症之坑爹的Windows故障转移群集
  4. 十二:内存简单介绍和OC的内存管理
  5. 推荐几个配色和图标网站
  6. Gmail邮箱添加域名解析
  7. Swift的笔记和参考
  8. [计算机网络][总结][常见问题][TCP][三次握手][四次挥手]
  9. java添加信息_java – 向异常添加信息
  10. 洛谷-DFS-1101-单词方阵-个人AC题解及公共题解的笔记