前言

在C++中,vector是一个商业转载请联系作者获得授权,非商业转载请注明出处。十分有用的容器。它能像容器一样存放各种类型的对象,简单来说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

相较链表而言,vector中提供了大量的方法供直接使用,降低了代码复杂度,也提高了易读性。

注意:vector相较于链表,实现插入和删除操作时效率较低,当动态添加的数据超过系统所分配的默认内存大小时,要进行整体的重新分配、拷贝和释放。

实例

基本操作

1.头文件

#include

2.创建vector对象

vector test;

3.尾部插入

int a = 0;

test.push_back(a);

4.使用下标访问元素

test[0] = 1;

5.插入元素

test.insert(test.begin()+i, a); //在第i+1个元素前插入a

6.删除元素

test.erase(test.begin()+3); //删除第3个元素

7.vect商业转载请联系作者获得授权,非商业转载请注明出处。or向量大小

test.size();

8.清空

test.clear();

began(),end() 和 front(),back()的差别

begin():返回当前vector容器内起始元素

end():返回当前vector容器内末尾元素

front():返回当前vector容器中起始元素的引用

back():返回当前vector容器中末尾元素的引用

e.g:

#include

#include

using namespace std;

int main()

{

vector test;

vector::iterator i1;

vector::iterator i2;

test.push_back(1000);

test.push_back(1001);

test.push_back(1010);

test.push_back(1011);

cout << "front()=" << test.front() << endl;

cout << "back()=" << test.back() << endl;

i1 = test.begin();

i2 = test.end()-1; //end()向的是最后一个元素的下一个位置,因此想要访问最后一个元素的正确操作为:end()-1

cout << *i1 << endl;

cout << *i2 << endl;

return 0;

}

输出结果:

front()=1000

back()=1011

1000

1011

常用函数

(1)reverse

需要头文件: #include

用法: reverse(test.begin(), test.end());将元素翻转,即逆序排列。

(2)sort

需要头文件: #include

用法 :sort(test.begin(), test.end());默认为升序排列,即从小到大。

e.g:

bool cmdPaixu(int a, int b)

{

return a>b;

}

sort(test.begin(), test.end(), cmdPaixu);

重写排序比较函数,实现降序排列。

c++ 向量的值逆序输出_C++中vector的常用方法相关推荐

  1. 将一维数组的值逆序输出

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p112 习题4 1.编程将一个一维数组的值按逆序重新存放. #include<stdio.h&g ...

  2. 中数据逆序输出_C语言 | 建立链表,输出各结点中的数据

    例42:C语言实现一个简单链表,它由3个学生数据的结点组成,要求输出各结点中的数据. 解题思路:读者在学习这道例题的时候,应该首先分析三个问题. 各个结点是怎么样构成链表的? 没有头指针head行不行 ...

  3. 使用randomaccessfile类将一个文本文件中的内容逆序输出_Java 中比较常用的知识点:I/O 总结...

    Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列. 数据流是一串连续不断的数据的集合,就象水 ...

  4. 蓝桥试题 算法提高 使用指针逆序输出 JAVA

    问题描述 编写程序,输入一个字符串,使用指针逐个逆序输出字符串中所有字符. 输入格式 输入一个字符串 输出格式 输出一个与输入相应的逆序字符串 样例输入 一个满足题目要求的输入范例. abcd 样例输 ...

  5. 将一位数组的元素值逆序存放后输出 算法:将第一个元素值与倒数第一个值交换 将第二个值与倒数第二个值交换,依此类推,直到交换到中间数组元素

    /*将一位数组的元素值逆序存放后输出 算法是:将第一个元素值与倒数第一个值交换 将第二个值与倒数第二个值交换,依此类推,直到交换到中间数组元素*/ #include<stdio.h> #d ...

  6. c语言将一个已知头结点的单链表逆序_C语言实现单链表逆序与逆序输出实例

    单链表的逆序输出分为两种情况,一种是只逆序输出,实际上不逆序:另一种是把链表逆序.本文就分别实例讲述一下两种方法.具体如下: 1.逆序输出 实例代码如下: #include #include #inc ...

  7. AMNO.6 给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字

    题目描述 给出一个不多于5位的整数,要求 1.求出它是几位数 2.分别输出每一位数字 3.按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字 输出 三行 第一行 位数 第二 ...

  8. java递归整数逆序,将一个整数逆序输出,分别给出递归和非递归算法 | 学步园...

    整数的逆序输出,递归 #include "stdafx.h" #include using namespace std; void reverse (int x){ int t_r ...

  9. -9 逆序输出一个整数的各位数字_计算机基础知识: 信息数字化

    计算机.数据与信息 无符号位数的表示 (一).四种常用的数制及它们之间的相互转换: 进制 基数 基数个数 权 进数规律 十进制 0.1.2.3.4.5.6.7.8.9 10 10i 逢十进一 二进制 ...

最新文章

  1. Downloading the Source
  2. LINQ TO ENTITY 根据Birthday获取Age
  3. 如何使用 Visual Basic 脚本添加默认打印机
  4. Spring MVC 文件上传 文件下载
  5. SpringMVC文件上传笔记
  6. Vrep中将物体变得透明的方法
  7. 分时系统是计算机网络嘛,简述计算机网络与分时多用户系统多机系统分布式系统的区别...
  8. linux版本的redis bin,redis-4.0.2.tar.gz for centos的linux系统版本下载(安装详细步骤)...
  9. redis 自增_坏了,Redis的字符串类型竟然被张三学明白了?
  10. js 添加事件 attachEvent 和addEventListener 的用法
  11. 什么是lambda(函数)?
  12. JS 同步本地时间和服务器时间
  13. 饿了么异地多活技术实现
  14. mysql sql常用语句大全
  15. html5 video play方法,html5 – 如何在现代Chrome上访问video.play()API
  16. 雅虎宣布其史上最严重数据泄露:5亿账户于2014年被盗
  17. 单片空间后方交会 python实现
  18. luogu1378 油滴扩展 (深搜)
  19. nagios监控华为5700交换机
  20. 电脑数据怎么迁移?6种旧电脑数据传输到新电脑方法分享

热门文章

  1. 廖雪峰python教程在哪看_:廖雪峰python教程在哪
  2. 如何在用例之间传递值_接口测试:A12_HttpRunner_cookie整理_01_提取指定cookie值
  3. 数据结构之线段树进阶(区间更新lazy标记)
  4. mysql建立 分区_MySQL-mysql分区合理建立
  5. Linux mysql生成不了随机密码,用MySQL 生成随机密码
  6. 安装deepin_国产系统Deepin深度不是华为笔记本也能安装
  7. 递归求二叉树的深度_优雅地用堆栈替代递归实现二叉树的深度优先搜索
  8. python删除字符_Python之删除字符串中不需要的字符
  9. 布隆过滤器 redis_redis布隆过滤器
  10. c++游戏代码坦克大作战_一红一蓝多种模式的双人小游戏:红蓝大作战