1. Vector 迭代器首地址与尾地址 begin() 和 end() 在代码中可以将迭代器用作参数的位置可以使用  begin() 和 end() 获取地址,如下代码: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 int main() 7 { 8 int test[] = { 111,222,333,444,555,666 }; 9 vector<int>num(tes…
1.vector 向量 相当于一个数组 在内存中分配一块连续的内容空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacity()函数返回的大小,当超过此分配的空间时,再整体重新分配一块内存存储,这给人以vector为一个连续内存的感觉.通常此默认的内存分配能完成大部分情况下的存储. 优点: (1)不指定一块内存大小的数组的连续存储,即可以像数组一样操作,但可以对此数字进行动态操作. (2)随机访问方便,即支持[ ]操作符和vec…
Java容器类List.ArrayList.Vector及map.HashTable.HashMap的区别与用法 ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插…
1) ·············· 2)`````````v1.begin() 和v1.end()  是作为迭代器v1的 第一个位置  和 最后一个元素的下一个位置. `````````````v1.front()   是v1这个动态数组的第一个元素的值 ············ v1.back()是v1的最后一个元素的值. 3) 4)正向和反向的使用rbegin和begin() #include<iostream> #include<vector> using namespace…
STL中实现源码可见:http://www.cplusplus.com/reference/vector/vector/begin/ 一.begin函数 函数原型: iterator begin(); const_iterator begin(); 功能: 返回一个当前vector容器中起始元素的迭代器. 二.end函数 函数原型: iterator end(); const_iterator end(); 功能: 返回一个当前vector容器中末尾元素的迭代器. 三.front函数 函数原型:…
1 vector     向量 相当于一个数组    在内存中分配一块连续的内存空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉.通常此默认的内存分配能完成大部分情况下的存储.   优点:(1) 不指定一块内存大小的数组的连续存储,即可以像数组一样操作,但可以对此数组       …
ArrayList的使用 ArrayList类:可变化长度的数组. 与一般的数组不同的是,其长度不固定,可以添加任意类型的数据. 也可以添加不同类型的数据,但是一般不这么做. ArrayList类位于java.util.ArrayList下,使用前需引用. import java.util.ArrayList 初始化方法: ArrayList al = new ArrayList();//容器 添加单个数据: 1-添加在ArrayList数组的最后: al.add("remoo");…
一.配接器 <Design Patterns>一书提到23个最普及的设计模式,其中对adapter样式的定义如下:将一个class的接口转换为另一个class 的接口,使原本因接口不兼容而不能合作的classes,可以一起运作. 1. 配接器概观与分类 STL 所提供的各种配接器中,改变仿函数接口者,我们成为function adapter:改变容器接口者,我们称为container adapter:改变迭代器接口者,我们称为iterator adapter. 1.1 应用于容器——conta…
首先看看vector里面的: reference front(); const_reference front() const; queue里面的: value_type& front(); const value_type& front() const; 一般,reference定义为value_type& ,const_reference定义为const value_type&,所以上面2者是等同的. 也就是front()返回第一个元素的引用,back()返回最后一个元…
[1]模板类vector 模板类vector可理解为广义数组.广义数组,即与类型无关的数组,具有与数组相同的所有操作. 那么,你或许要问:既然C++语言本身已提供了一个序列式容器array,为什么还要vector呢? 我们一直强调,事物总是朝向更先进的方向螺旋式发展与进化.这个问题其中的道理也不例外. vector的数据安排及操作方式与array非常相似.两者唯一区别在于空间运用的灵活性. array是静态空间,一旦配置不能改变.要想换个大(或小)点的房子,一切琐细得由客户端自己料理(步骤如下)…