#include <iostream>
#include <vector> // 头文件
using namespace std; int main()
{
vector<int> v; // 定义一个动态数组 vector<T> v; // 几种初始化方式:
vector<int> v1(); // v1中会含有7个元素size() == 7, 都赋值为0
vector<int> v2(v1); // v2将成为v1的一个拷贝
vector<int> v3 = {, , , , }; // 用列表初始化
vector<int> v4(v3.begin(), v3.end()); // 用迭代器初始化
vector<int> v5(, ); // 指定值初始化,v5中将有7个值为1的元素 for (int i = ; i <= ; i++)
v.push_back(i * i); // 插入元素到数组最后
v.insert(v.end(), v3.begin(), v3.end()); // 在v的最后插入v3中的所有元素
for (int i = ; i < v.size(); i++)
cout << v[i] << " "; // 可用索引访问元素 (直接通过索引赋初值无效!)
cout << endl; v.clear(); // 只是把size()设置为0, 但是实际内存并不会回收!不要想当然
v.shrink_to_fit(); // 再加上这句即可释放内存
// 老式回收内存的方法(利用了swap()和局部变量内存释放):
{
vector<int> x;
v.swap(x);
} // 二维动态数组
vector<vector<int> > v2d;
// 注意vector<int>后最好加一个空格再加> 否则若未开启C++11会解释为>>运算符
for (int i = ; i < ; i++)
v2d.push_back(vector<int>()); // vector<int>() 是调用无参构造函数
for (int i = ; i < v2d.size(); i++)
for (int j = ; j < ; j++)
v2d[i].push_back(i * j);
for (int i = ; i < v2d.size(); i++)
for (int j = ; j < v2d[i].size(); j++)
cout << v2d[i][j] << " ";
cout << endl;
return ;
}

动态数组 - vector的更多相关文章

  1. 【模板】c++动态数组vector

    相信大家都知道$C$++里有一个流弊的$STL$模板库.. 今天我们就要谈一谈这里面的一个容器:动态数组$vector$. $vector$实际上类似于$a[]$这个东西,也就是说它重载了$[]$运算 ...

  2. C++ STL之动态数组vector(⽮量)的使⽤

    写再最前面:摘录于柳神的笔记:   之前C语⾔⾥⾯⽤ int arr[] 定义数组,它的缺点是数组的⻓度不能随⼼所欲的改变,⽽C++⾥⾯有⼀个能完全替代数组的动态数组 vector (有的书⾥⾯把它翻 ...

  3. Implementing a Dynamic Vector (Array) in C(使用c实现动态数组Vector)

    An array (vector) is a common-place data type, used to hold and describe a collection of elements. T ...

  4. 越努力越幸运--动态数组vector

    最近回忆山哥写的stl,觉得很好用,也写了一份. 感谢群里的大佬帮忙review,还是很多的问题的. code:https://github.com/HellsingAshen/vector_c.gi ...

  5. C++ vector动态数组

    #include<vector>头文件 vector类称作向量类 百度百科的解释:https://baike.baidu.com/item/vector/3330482 我喜欢把知识点拿出 ...

  6. C++向量 vector动态数组

    需要包含头文件, #include  <vector>    using namespace std; vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所 ...

  7. vector:动态数组

    vector是C++标准模板库中的部分内容,中文偶尔译作“容器”,但并不准确.它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存 ...

  8. 学习日记--用Vector(向量)实现动态数组

    Vector的使用方法: 能在添加元素时增加长度的数组称为动态数组或可变长数组.相对地,必须事先指定长度,只能容纳一定数量元素的数组称为静态数组.下面分享一下如何借助STL(标准模板库)中的Vecto ...

  9. 容器(vector)、数组、new创建的动态数组,你到底用哪一个(执行效率分析)

    1.问题的提出 在没有了解vector之前,动态数组一般都是又new创建的.在了解vector后发现vector竟是那样方便好用,但方便的同时却是以牺牲执行效率为代价的.网上对vector和array ...

随机推荐

  1. 通过class类获取类的成员变量和构造函数信息

  2. sqlplus客户端 navicat 使用sqlplus OCI

    链接:http://pan.baidu.com/s/1i5otsUT 密码:cbux 解压后放到某个目录下 这是我的 sqlplus客户端出现乱码 - 一支小白 - 博客园  http://www.c ...

  3. ZOJ 3956 Course Selection System

    题意 有n节课可供选择,每节课都有两个值Hi和Ci,如果学生选择了m节课(x1,x2,....,xm),则它的舒适值被定义为: //这里没有公式((lll¬ω¬)),因为那个图片我保存不下来≧ ﹏ ≦ ...

  4. 【bzoj3942】[Usaco2015 Feb]Censoring

    [题目大意] 有一个S串和一个T串,长度均小于1,000,000,设当前串为U串,然后从前往后枚举S串一个字符一个字符往U串里添加,若U串后缀为T,则去掉这个后缀继续流程. [样例输入] whatth ...

  5. eclipse中代码里的黄色感叹号,怎么去掉?

    https://blog.csdn.net/Ideality_hunter/article/details/83007174

  6. module 'keras.engine.topology' has no attribute 'load_weights_from_hdf5_group_by_name'

    参考: https://blog.csdn.net/heiheiya/article/details/81111932 https://blog.csdn.net/c20081052/article/ ...

  7. 专题1-MMU-lesson2-深入剖析地址转化

    1.地址转化总体分析 level one fetch和level two fetch分为一级转换和二级转换. 由上图右边可以看出,首先通过TTB(Translation Table Base)寄存器找 ...

  8. 我的linux环境

    apache2+php+mysql sudo apt-get install apache2 sudo apt-get install libapache2-mod-php5 php5 sudo ap ...

  9. easyui 列表 条件检索

    onclick="search()" 不要使用search命名检索方法,冲突,无法调用. 通用检索function function searchData() { var objs ...

  10. 注入学习1:SQL注入语句大全

    学习背景 之前做了xss预防,以及些许的注入预防了,但是不够全面,如果还是搜集了下一些常用的注入手段,以此用来进行更好的预防. 什么是注入 一般来说,SQL注入一般存在于形如:HTTP://xxx.x ...