C++的动态数组vector

今日诗词:

满堂花醉三千客,一剑霜寒十四州。

                                                        ——《献钱尚父》 [唐] 贯休


目录

前言

正文:

vector数组是什么

vector数组的基本定义展示

实例演示: 

解析:

下期预告:C++的动态数组vector番外之capacity


前言

现在我们开始今天的内容。首先要清楚我们现在我们目前掌握的都是面向过程的编程,未来还会学习面向对象的变成,他们之间的关系是很密切的。我们今天要说的动态数组vector就是面向对象的编程,我们在这一章先做一个前瞻,不会的话后期还会再说一遍。

正文:

我们先前说到的一维数组,二维数组都是静态数组;这类数组虽然定义简单,方便,但是有一个十分致命的缺点,那就是无法实时的随着环境的变化而变化;也就是说一旦定义了静态数组,那么就无法再改变这个数组,它的内存是定值,无法随意变化,这就导致在大型程序中很少使用这种静态的数组。那么C++的解决方法就是动态数组vector。

vector数组是什么

在C++中,vector是一个非常灵活且常用的容器,它属于标准模板库(STL)的一部分。vector可以存储一个动态数组,即可以在运行时增加或减少其大小。vector内部使用连续的内存空间来存储元素,因此它可以提供快速的随机访问能力。

vector数组的基本定义展示

1. 定义空的vector

#include <vector>

std::vector<int> myVector; // 定义一个空的int类型vector

2. 定义并初始化大小的vector

#include <vector>

std::vector<int> myVector(10); // 定义一个int类型vector,初始大小为10,所有元素初始化为0

3. 定义并初始化内容的vector

#include <vector>

std::vector<int> myVector = {1, 2, 3, 4, 5}; // 使用初始化列表定义并初始化vector

使用复制构造函数

#include <vector>

std::vector<int> anotherVector = {1, 2, 3};
std::vector<int> myVector(anotherVector); // 使用另一个vector初始化

4. 定义并指定元素值的vector

#include <vector>

std::vector<int> myVector(10, 5); // 定义一个int类型vector,初始大小为10,所有元素初始化为5

总结
vector是C++ STL中一个非常强大的容器,它提供了动态数组的功能,支持随机访问,并允许在运行时增加或减少其大小。通过上面的示例,你可以看到如何定义和初始化vector。、

其实关于vector的使用在我们说静态数组,举例子时的模型演示中基本上都提到过了。这里由于还是面向过程的编程,所以先不那么深入,后期会详细讲到。

C++静态数组的用法


实例演示: 
#include<iostream>
#include<vector>
using namespace std;
int main()
{
//创建动态数组
vector<int>v={1,2,3,4};
cout<<"size is"<<v.size()<<endl;
cout<<"capacity is"<<v.capacity()<<endl;
//遍历所有元素
for(int i=0;i<v.size();++i)
{
  cout<<v[i]<<endl;
}

//在尾部插入一个元素
v.push_back(5);
cout<<"size is"<<v.size()<<endl;
cout<<"capacity is"<<v.capacity()<<endl;
//遍历所有元素
for(int i=0;i<v.size();++i)
{
  cout<<v[i]<<endl;
}

//在尾部任意位置插入一个元素
v.insert(--v.end(),6);
cout<<"size is"<<v.size()<<endl;
cout<<"capacity is"<<v.capacity()<<endl;
//遍历所有元素
for(int i=0;i<v.size();++i)
{
  cout<<v[i]<<endl;
}

//在尾部移除一个元素
v.pop_back();
cout<<"size is"<<v.size()<<endl;
cout<<"capacity is"<<v.capacity()<<endl;
//遍历所有元素
for(int i=0;i<v.size();++i)
{
  cout<<v[i]<<endl;
}

//在尾部移除一个元素
v.erase(v.end()-1);
cout<<"size is"<<v.size()<<endl;
cout<<"capacity is"<<v.capacity()<<endl;
//遍历所有元素
for(int i=0;i<v.size();++i)
{
  cout<<v[i]<<endl;
}

return 0;
} 

上面的代码就是定义一个vector的数组,利用vector的基本函数的操作(添加,删除)。

解析:

首先包含头文件<vector>,然后定义一个数组,接着打印这个数组的内容长度和预存储的长度,接着打印数组里的元素。后面地除了开始的一步不一样,其他的都一样。

1.vector<int>v={1,2,3,4};//定义一个数组

先写vector然后尖括号里写上数组的存储类型然后写数组名,最后定义数组的内容。

2.v.push_back(5);//在尾部插入一个元素

由于事先定义过vector的数组所以后面直接利用定义的数组名来调动vector里的函数。

3.v.insert(--v.end(),6);//在尾部任意位置插入一个元素

这个由于是在数组中间任意的位置插入一个元素,所以这个函数需要数组的位置(数组的,位置)

在位置后面输入要插入的元素。

4.v.pop_back();//在尾部移除一个元素

同上二

5.v.erase(v.end()-1);//在尾部移除一个元素

这个的规则和上面的有些许类似,都需要数组的位置,只不过这个是直接删除,所以少了一个元素的录入。vector是十分好用的数组,因为它本身就含有很多函数可以方便我们使用,而且不用担心数组的内存满了的情况,更适合大型程序的使用。


🆗到这里,这篇关于C++的动态数组vector就说完了,求一个免费的赞,感谢阅读,我们下期见。

下期预告:C++的动态数组vector番外之capacity
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值