动态数组,使用时需要加头文件vector。
它的特点可以实现动态增长的数组。也就是说我们不必关心该数组事先定义的容量是多少,它的大小会动态增长。
与数组类似的是,我们可以在末尾进行元素的添加和删除,
也可以进行元素值的随机访问和修改。
下面就通过简单易懂的代码对其讲解
#include <iostream>
#include <vector>
#include <bits/stdc++.h>
//vector 的创建
/*
vector <int> vec1; // 创建一个空的vector
vector <int> vec2(vec1); // 创建一个vector vec2,并用vec1去初始化vec2
vector <int> vec3(10); // 创建一个含有n个数据的vector
vector <int> vec4(10,0); // 创建含有10个数据的vector,并全部初始化为0
*/
//添加删除元素push_back(),pop_back()
using namespace std;
struct node //结构体类型
{
string na;
float score;
};
int main()
{
vector <node> vect;
node t;
t.na = "aa";
t.score = 66.6;
vect.push_back(t);
cout<<vect.size()<<endl; //size为4,但是capacity为100
cout << vect.max_size() << endl; // 最大容纳量
int i = 0;
vector <node> :: iterator it;
for (it = vect.begin(); it != vect.end(); ++ it)
{
cout<<(*it).na<<endl;
}
for (i = 0; i < vect.size(); i++)
{
cout<<vect[i].na<<endl;
}
return 0;
}
//back(),front(),访问头部元素和尾部元素
// empty(),判断vector是否为空
//insert(): 插入元素,erase():删除某个元素 在删除元素时,要借用迭代器。
//clear():清除所有元素