STL六大组件之容器篇(序列式容器vector)
来源:互联网 发布:打开本机端口 编辑:程序博客网 时间:2024/06/01 09:21
一、vector概述:
传统意义上的数组为静态空间,一旦配置大小将不能改变。而vector是动态空间的数组,其内部机制会自行扩充以容纳新的元素。所以使用时不用再担心数组不够用而定义一个超大空间的数组,vector可以更合理和灵活的应用空间。
二、vector常用函数介绍:
iterator begin(); //返回开始位置迭代器指针iterator end(); //返回结束位置迭代器指针reference front(); //返回第一个元素的引用reference back(); //返回最后一个元素的引用size_type size(); //动态数组现有元素个数size_type capacity(); //动态数组容量bool empty(); //是否为空void push_back(const value_type& __x); //插入数据至动态数组尾部void pop_back(); //删除最后一个元素(注意此函数没有返回值,如果删除前要获取返回值需先调用back()或者end()函数)iterator insert(iterator __position, const value_type& __x); //在__position的位置插入元素iterator erase(iterator __position); //删除__position位置的元素void clear(); //清空整个vector//重载运算符const_reference operator[](size_type __n) const //重载[]运算符,可使用数组形式访问元素
三、talk is cheap,show me the code:
#include <vector>#include <iostream>#include <stdlib.h>using namespace std;//打印函数void print(vector<int >& print_){ //输出动态数组所有元素个数 cout<< "size: "<< print_.size()<< endl; //输出动态数组容量 cout<< "capacity: "<< print_.capacity()<< endl; for(int i= 0;i< print_.size();i++) { //重载的[]运算符可以使用类数组下标方式访问vector cout<<i<< "th "<< print_[i]<< endl; } cout<< "-----------print end----------"<< endl;}int main(){ vector<int> vc; //插入5个元素 for(int i= 0;i< 5;i++) { vc.push_back(i); } print(vc); //在头部位置插入元素9 vc.insert(vc.begin(),9); print(vc); //删除第三个元素(下标从0开始) vc.erase(vc.begin()+3); //弹出最后一个元素 vc.pop_back(); print(vc); vc.clear(); print(vc); return 1;}
运行结果如下图:
四、容器缺点:
未完待续!
0 0
- STL六大组件之容器篇(序列式容器vector)
- STL序列式容器之vector
- STL 序列容器之vector
- STL序列容器之vector
- 【STL】序列式容器:vector
- 【STL】序列式容器--vector
- STL容器-序列式容器vector
- STL六大组件之(容器)
- STL中序列容器之Vector
- stl之序列容器——vector
- STL 源码剖析序列式容器之vector(四)
- SGI STL的序列式容器之vector浅析
- STL学习笔记--4、序列式容器之vector
- STL源码剖析之序列式容器vector
- STL源码剖析-序列式容器之vector
- C++ STL 序列性容器之 std::vector 容器
- STL中序列式容器之一vector
- 【C++ STL】序列式容器Vector
- 定义 Android 清单
- php curl使用小示例
- STM32-LPC bug汇总
- 系统更改
- PAT 1009. 说反话 (20)
- STL六大组件之容器篇(序列式容器vector)
- Chromium网页加载过程简要介绍和学习计划
- 使用eval解析JSON对象
- 显示转换、隐式转换--精确度、scanf、转义
- PHP使用Redis一
- 深入剖析Java集合框架及其显示应用(上)
- C++ iterator 前++ 后++ 效率区别
- Climbing Stairs
- 程序员要怎样学英语