c++ stl 之vector浅析
2015-09-09 10:40
330 查看
1.了解stl中的vector
vector是序列式容器,每个元素在容器中的位置和插入的顺序有关。
2.数据结构:
vector中元素的逻辑结构:vector中的元素是一对一的线性关系
vector中元素的存储结构:vector中的元素是存储在动态数组(dynamic array)(顺序存储结构)
3.性质和用途
结构决定性质,性质决定用途:因为vector 中的数据元素是一对一的线性关系,且是以动态数组的形式来存储元素。所以vector支持随机存储(下标从0 到 size()-1,这里size()指的是vector中数据元素的个数).方便在尾部进行插入和删除,但在除尾部以外的其它地方进行插入和删除时效率较低,所以数据如果只是简单的存储和在尾部进行插入和删除的线性关系时,可以考虑使用vector.
4.c++源码例子
5.实验结果:
vector是序列式容器,每个元素在容器中的位置和插入的顺序有关。
2.数据结构:
vector中元素的逻辑结构:vector中的元素是一对一的线性关系
vector中元素的存储结构:vector中的元素是存储在动态数组(dynamic array)(顺序存储结构)
3.性质和用途
结构决定性质,性质决定用途:因为vector 中的数据元素是一对一的线性关系,且是以动态数组的形式来存储元素。所以vector支持随机存储(下标从0 到 size()-1,这里size()指的是vector中数据元素的个数).方便在尾部进行插入和删除,但在除尾部以外的其它地方进行插入和删除时效率较低,所以数据如果只是简单的存储和在尾部进行插入和删除的线性关系时,可以考虑使用vector.
4.c++源码例子
//向vector中插入6个整形数据元素,并输出。 #include<vector> #include<iostream> using namespace std; int main(int argc , char **argv) { vector<int> v1;//生成一个数据元素类型为int的vector对象v1.由于没有任何初始化参数,缺省构造函数将v1建为空 for( unsigned i = 1; i <= 6 ; ++i)//在尾部向v1添加6个数据元素{1,2,3,4,5,6} v1.push_back(i); //push_back()为vector的成员函数,向vector尾部添加数据元素 for( unsigned i = 0 ; i < v1.size(); ++i)//依次输出v1中的数据元素(从下标0开始,一直到下标为size()-1结束) cout << v1[i] << ' '; cout<< endl; return 0; }
5.实验结果:
相关文章推荐
- 转:值得推荐的C/C++框架和库 (真的很强大)
- 一些程序函数 C++语言,找数组中弟第K大的数和自己写的子符串截取函数
- C++ primer 笔记
- c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目
- c++必须在类初始化列表中初始化的几种情况
- C++--------------------------------------Map的基础用法
- C++学习首页
- 日历查询
- C++虚函数
- C++语言的设计与演化&nbsp;&nbsp;读书笔记三
- C++语言的设计与演化&nbsp;读书笔记二
- C++语言的设计与演化&nbsp;读书笔记一
- C++ 优先队列的简单实现
- C++语言的设计与演化 读书笔记三
- C++语言的设计与演化 读书笔记一
- C++语言的设计与演化 读书笔记二
- C语言实现在英语句子查找和替换一个单词。
- 关于C/C++内存分配问题
- C++——运算符重载(二)
- 01.VC++2008开始写程序