C++ STL学习笔记二 vector向量容器
来源:互联网 发布:java编程输出金字塔 编辑:程序博客网 时间:2024/04/29 03:29
*
*
********************************************
* vector容器的基础说明:
********************************************
*
* 可进行随机访问,并且实现了在容器的尾端插入新元素
* Random Access Container 和 Back Insertion Sequence
* 在尾端插入、删除元素的时间复杂度为O(1),其它位置为O(n),n为元素个数
* 对于插入的元素可以动态调整所占空间
* 使用vector必须使用宏语句#include <vector>
*
**************************************************************************************
*
* 创建vector对象:
* 1.vector<int> a;
* 2.vector<int> a(10); //具有10个元素的对象a,每个元素默认值为0
* 3.vector<char> a(5,'k');
* 4.vector<char> b(a); //vector<char> c(a.begin(),a.end())
*
**************************************************************************************
*
* 初始化赋值
* void push_back(const T& value)
*
**************************************************************************************
*
* 遍历访问
* reference operator[](size_type n) //可用数组方式访问vector元素
*
**************************************************************************************
*
* 常用函数
*
* bool empty();
* size_type size();size_type max_size();size_type capacity();
* reference front();reference back();
* void pop_back();void push_back();
* void clear();
*
*
*
********************************************
* Author: cumirror
* Email: tongjinooo@163.com
********************************************
*
*/
#include <iostream>
#include <vector>
int main()
{
using namespace std;
vector<int> a(10,5);
// 数组方式
cout<<"数组"<<endl;
a[0]=100;
for(int s=0;s<a.size();s++){
cout<<a[s]<<endl;
}
// 迭代器方式
cout<<"迭代器"<<endl;
vector<int>::iterator i,iend;
i=a.begin();
iend=a.end();
*i=101;
for(vector<int>::iterator j=i;j!=iend;j++){
cout<<*j<<endl;
}
// 元素插入,插入位置为迭代器所指之前
// 注意:有元素插入后,原来的迭代器会失效
cout<<"插入"<<endl;
a.insert(a.begin(),102);
// 删除时注意,它是一个半闭区间
// 也支持 erase(iterator pos)单个元素的删除
cout<<"删除"<<endl;
a.erase(a.begin()+4,a.begin()+6);
for(vector<int>::iterator k=a.begin();k!=a.end();k++){
cout<<*k<<endl;
}
// 反向遍历访问
cout<<"反向访问"<<endl;
vector<int>::reverse_iterator ri;
for(ri=a.rbegin();ri!=a.rend();ri++){
cout<<*ri<<endl;
}
return 0;
}
- C++ STL学习笔记二 vector向量容器
- C++ STL学习笔记二 vector向量容器
- C++ STL--vector向量容器学习笔记
- C++STL库学习之向量容器vector & string容器
- STL向量容器vector
- STL vector向量容器
- STL学习(二)--vector容器
- STL学习笔记之 (二)容器 vector
- STL学习笔记之容器--vector(二)源码剖析
- C++学习笔记——STL(二)vector容器
- STL---之vector向量容器
- STL 向量容器(vector)
- STL 向量容器(vector)
- STL 向量容器(vector)
- STL 向量容器(vector)
- STL-顺序容器-向量vector
- C++STL泛型编程——vector向量容器
- 【C++】STL常用容器总结之三:向量vector
- 有关于数据类型的小例子
- 工作态度决定工作的一切
- 正则表达式语法(其中转义字符错了“/”应改为“\”)
- C++ STL学习笔记一
- JAVA NIO之浅谈内存映射文件原理与DirectMemory
- C++ STL学习笔记二 vector向量容器
- 151012C#学习笔记
- 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
- google镜像访问地址
- C++ STL学习笔记三 deque双端队列容器
- Centos/RedHat7破解密码
- 1011. A+B和C (15)
- 功能测试用例需要详细到什么程度,完全测试程序是可能的么
- C++ STL学习笔记四 list双向链表容器