#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. 25-从零玩转JavaWeb-抽象类

    一.抽象类解决什么问题 求三角形,圆,矩形的面积 发现三个类都有共同的方法 ,所以我们可以抽出一个父类, 把他们相同的方法放到父类当中       二.什么是抽象方法 三.什么是抽象类 四.抽象类的特 ...

  2. AWT和布局管理器

    AWT(Abstract Window Toolkit)抽象窗口开发包 component:可以显示出来的与用户进行交互的图形元素 container:容纳其他component元素的容器:conti ...

  3. 201671010140. 2016-2017-2 《Java程序设计》java学习第五周

    java学习第五周心得体会        本周,是Java学习第五周,随着时间推移,随着课本内容的推进,我们接触到的程序也开始变得越来越复杂,不再是二三章那些用来练手的小程序了,这一点,在我们的例题运 ...

  4. gdb 调试PHP

    扩展编译好用,通过php编码测试报“段错误",如果是c语言都是用gdb进行设置,那php扩展要如何进行调试呢?搜索了下,虽然是php扩展但是core是php 的core不是单个so扩展的co ...

  5. zend studio 字体大小修改,默认编码设置

    zend studio的字体感觉很小,很多用户不是很适应,修改方法如下: 第一步:进入设置窗口    windows -> preferences 第二步:进入修改字体的选项卡.    Gene ...

  6. 利用PHPExcel将数据导出到xls格式的excel文件

    在开发某地的经营许可证管理系统的时候需要将数据导出打excel文件,虽然一年前做某集团的ERP的时候用到过一次导入和导出,但是那时候太忙没时间写博客,一年过去了我也忘的差不多了,所以趁着今天将此次的使 ...

  7. sql注意事项积累

    1.一定要记住,SQL 对大小写不敏感! 2.sql中的单引号 '',如果单引号中是字符串,代表是常量 如,select 'b.phoneNumeber' from test; 如果是数字,如'123 ...

  8. hdu 2553 N皇后问题(一维数组详尽解释)

    //一维数组解法(注释详尽)//num皇后可以表示第num列,然后枚举num皇后所在的行//二维数组对角线转换为坐标的关系#include<stdio.h> #include<str ...

  9. Claims Based Authentication and Token Based Authentication和WIF

    基于声明的认证方式,其最大特性是可传递(一方面是由授信的Issuer,即claims持有方,发送到你的应用上,注意信任是单向的.例如QQ集成登录,登录成功后,QQ会向你的应用发送claims.另一方面 ...

  10. IIS 身份验证

    IIS 支持以下身份验证模式: 匿名.如果不需要对客户端进行身份验证(或者使用自定义身份验证机制,如窗体身份验证),则可将 IIS 配置为允许匿名访问.在该事件中,IIS 创建一个 Windows 令 ...