2025年point和node 区别(point和pointat的区别)

point和node 区别(point和pointat的区别)目录 一 vector 概念 二 常用迭代器遍历 vector 1 只读迭代器遍历 vector 2 读写迭代器遍历 vector 三 vector 常用的成员函数接口 1 vector 构造函数 2 vector 赋值 3 vector 添加元素 4 vector 删除元素 5 vector 迭代器接口使用 6 vector 大小操作接口 四 完整代码 vector 是一个单端动态数组的顺序容器

大家好,我是讯享网,很高兴认识大家。



目录

一、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

 

小讯
上一篇 2025-04-17 20:45
下一篇 2025-05-05 19:04

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/138137.html