vector基础操作

  • //vector< T> vec; //构造一个名为vec的储存数据类型为T的动态数组。其中T为需要储存的数据类型
  • //初始时vec为空
  • //push_back 末尾添加一个元素
  • //pop_back 在末尾弹出一个元素
  • //size 获取长度
    • size_type size() const; Return size Returns the number of elements in the vector.
    • This is the number of actual objects held in the vector, which is not necessarily equal to its storage capacity.
  • //clear 清空
  • //修改vector其中的某个元素,直接赋值,比如vec[1]=3; //修改vector其中的某个元素,直接赋值,比如vec[1]=3;
  • //vector的方法size()可以直接获取长度,通过[]可以直接获取其中的元素,和数组相同
  • //clear()会清空vector中内容,但是不会重新分配空间
    • 如果需要清空vector的内存,一种典型的方法是使用交换, 即使用一个空的vector和原来的vector进行交换,完成内存的释放
vector< int>vec;
{
vector< int> x;
vec.swap(x);
}

Clear content Removes all elements from the vector (which are destroyed), leaving the container with a size of 0.

A reallocation is not guaranteed to happen, and the vector capacity is not guaranteed to change due to calling this function. A typical alternative that forces a reallocation is to use swap: vector().swap(x); // clear x reallocating

#include<iostream>
#include<vector>
using namespace std;
int main(void)
{
    vector<int> vec;    //创建动态数组,未知大小
    vec.push_back(1);   //添加元素1,此时为{1}
    vec.push_back(2);   //添加元素2,此时为{1,2}
    vec.push_back(3);   //添加元素3,此时为{1,2,3}
    vec[1] = 3;         //下标为1的元素被修改为3,此时为{1,3,3}
    vec[2] = 2;         //下标为2的元素被修改为2, 此时为{1,3,2}
    for (int i = 0; i < vec.size(); i++)
        printf("%d\n",vec[i]);
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • POJ 2318--TOYS(二分找点,叉积判断方向)

    TOYS Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17974 ...

    Enterprise_
  • 打印锯齿矩阵

    锯齿矩阵是指每一行包含的元素个数不相同的矩阵,比如: 1 3 5 2 6 1 2 2 3 4 3 1 6 2 7 读入若干对整数 (...

    Enterprise_
  • Computer Graphics note(3):视图变换 & 光栅化

    M变换:https://blog.csdn.net/Enterprise_/article/details/106880754 VP变换:https://...

    Enterprise_
  • (PPT)Python程序设计课程教学内容组织与教学方法实践

    本文是董付国老师2018年10月20日在山东省高等学校计算机专业教学研究年会上作报告的PPT内容,版权所有,侵权必究!

    Python小屋屋主
  • Spark任务调度之RDD的四种依赖关系

    RDD四种依赖关系,分别是 ShuffleDependency、PrunDependency、RangeDependency和OneToOneDependenc...

    暴走大数据
  • 聊聊程序设计思想之面向切面编程AOP

    因为使用AOP结构,JBoss 4.0的源码要比JBoss 3.X容易理解多了,这对于一个大型复杂系统来说是非常重要的。

    進无尽
  • 想成为「不那么差」的程序员,离不开这个 buff

    一周前,我分享了篇文章《如何成为一位「不那么差」的程序员》,当时主要是从硬技能和软实力两方面分享经验,今天我想做一点补充:其实,做一名不那么差的程序员,也离不开...

    zhisheng
  • Quartz2D复习(一)--- 基础知识 / 绘制线段圆弧 / 图片水印 / 截图

    1、Quartz 2D是一个二维绘图引擎,同时支持ios和Mac系统; Quart2D的API是纯C语言的,API来自于Core  Graphics框架:

    tandaxia
  • 犯错是人的天性:如何减少人为失误造成的信息安全事故?

    2014年IBM网络安全情报检索显示,高达95%的信息安全事件与人为失误(故意或无意)有关。人为失误不仅仅是影响网络安全的重要因素,同样在航空事故和医疗事故中扮...

    FB客服
  • 【项目实战】去除繁琐的if..else 优雅使用策略模式

    最新开发系统权限管理系统时,有这样一个需求,不同角色的数据权限不一样需要做处理 根据数据范围拥有不同部门的数据查看权限, 比如这样

    小东啊

扫码关注云+社区

领取腾讯云代金券