vector 向量容器基础应用

本文介绍了C++标准库中vector容器的基本使用,包括构造、初始化、元素的插入与删除、遍历访问以及相关操作函数。通过示例展示了如何通过push_back插入元素,使用迭代器遍历及反向遍历,以及调用erase删除元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

S   T   L

Vector向量容器介绍

Vector容器是一个线性结构,用三个指针存放向量的起始字节位置、当前最后一个向量元素的末尾字节和整个容器所占用的内存空间的末尾字节。

C++标准头文件vector:宏语句

创建vector对象

1)         Vector(const A&a = A() )

创建一个空的vector对象,A是内存分配器,此参数可以省略

          vector<int>  v;      //空的intvector对象                                      

2)         Vector(size_type n)

创建一个具有n个元素的vector对象

vector<int>  v(10);       //具有10个元素的intvector对象

3)         Vector(size_type n,const T& value)

创建一个具有 n个元素的vector对象,每个元素都有初始值value

         Vector<int> v( 10, 0);             //具有十个初始值为0intvector对象

4)         Vector( const vector&)

拷贝一个vector对象,创建一个新的vector对象

Vector<char>   v1(5, ‘k’);

Vector<char>  v2(v1);

5)         Vector(const InputIterator   first,const  InputIterator  last,const  A&a = A() )

Inputiterator 为输入迭代器,拷贝迭代器区间[ firstlast ) 的元素值,创建新的vector对象

          Int iarray [] = {11,13,19,23,27};

          Vector<int> v(iarray , iarray + 5);

初始化赋值

push_back 函数在容器的尾端插入新元素value

void push_back(const  T& value)

元素的遍历访问

Vector的元素可采用数组或迭代器的方式进行遍历访问。

 

元素的插入

Insert 函数 在迭代器pos所指元素前面插入一个元素x

         Iterator   insert (iteratror   pos,const  T&  x)

元素的删除

Erase函数  在迭代器pos所指区间[first , last)的所有元素

1)         Iterator  erase (iterator pos)

2)         Iterator  erase(iterator  first,  iterator  last)

元素的反向遍历

利用vector提供的反向迭代器及相应函数

1)         Reverse_iterator  rbegin()

2)         Reverse_iterator  rend()

Vector的交换

利用swap算法,实现两个vector容器元素的交换

Void swap( vector &)

 

其他常用函数

1)         bool empty()

判断容器是否为空。

2)         Size_type  size()

当前容器实际元素个数。

3)         Size_type  max_size()

容器的最大元素个数。

4)         Size_type  capacity()

可容纳元素个数。

5)         Reference  front() 

容器首元素,前提不为空。

6)         Reference  back() 

容器末尾元素,前提不为空。

7)         Void  pop_back() 

删除容器末尾的一个元素。

8)         Void  reverse(size_type  n)

手动调整vector数据空间大小。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值