目录
一、vector概念
二、常用迭代器遍历vector
1、只读迭代器遍历vector
2、读写迭代器遍历vector
三、vector常用的成员函数接口
1、vector构造函数
2、vector赋值
3、vector添加元素
4、vector删除元素
5、vector迭代器接口使用
6、vector大小操作接口
四、完整代码
vector是一个单端动态数组的顺序容器,支持存放任意类型的数据。
1、数据元素必须按照严格的线性顺序进行排序,可以通过元素在vector中的位置访问相应的元素。这一点与常用的原生数组一样,通过下标vec[i]进行访问,此外还提供vec.at(i)接口进行访问等;
2、vector提供在末尾处快速插入和删除元素的接口,还可以动态的去扩展vector的容量大小,这一点与原生数组不同。
对日常开发迭代器遍历容器,有分为只读迭代器vector<T>::const_iterator和读写迭代器vector<T>::iterator,两者用法一样。对于如何遍历,只需要记住v.begin()和v.end()两个函数接口即可,v.begin()指向首个元素,v.end()指向最后一个元素的下一个位置,这是一个[v.begin(), v.end())的区间:
vector的构造函数有四个构造函数:无参构造、带区间构造、N个相同元素构造和拷贝构造,用法也都很简单,需要注意的点:
带区间构造:参数是一个[v.begin(),v.end())的迭代器区间,只能取第一个元素,和最后一个元素,而无法取值到最后一个元素的下一位置。
(1)重载了operator =()赋值方式:直接利用等号进行赋值操作;
(2)assign的重载函数赋值:利用assign的重载,进行区间元素的赋值或者N个相同元素的赋值操作,以下是assign的函数原型
void assign(const_iterator first,const_iterator last);
void assign(size_type n,const T& x = T());
vector添加元素或者插入元素的方式挺多,就介绍其中几种常用的:
(1)利用push_back()进行尾插操作
(2)利用insert()在某个迭代器指向的元素前插入一个元素、N个相同的元素或者一个区间元素;
(1)利用pop_back()进行尾删,删除最后一个元素;
(2)利用clear()进行容器的清空元素的操作;
(3)利用erase()删除某个迭代器指向的元素,或者一个区间的元素,当区间为[v.begin(),v.end())时,等同于clear()清空操作;
(1)vec.empty():判断vec容器是否为空,为空则返回true,反之false;
(2)vec.size():返回vec容器的元素个数;
(3)vec.capacity:返回vec容器当前的容量大小;
(4)vec.resize(n_size):若n_size大于原来的元素个数,数据类型为int,则默认以0填充,若n_size小于原来的元素个数,则舍弃之后所有的元素;
(5)vec.resize(n_size, n_value):resize的重载函数,若n_size大于原来的元素个数,则以n_value的值填充多出的元素。
1、CppVector.h
2、CppVector.cpp
到此这篇point和node 区别(point和pointat的区别)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-nodejs/33991.html