备战蓝桥杯--数据结构及STL应用(基础)

今天轻松一点,讲一讲stl的基本操作吧!

备战蓝桥杯--数据结构及STL应用(基础)_第1张图片

 首先,让我们一起创建一个vector容器吧!

#include
using namespace std;
struct cocoack{
int coco,ck;
}
void solve(){
    vector x;
    for(int i=0;i<5;i++){
    x.push_back({1,2});}

这样,我们就把x容器的5个位置塞了5个结构体。

其实我们也可以塞vector,就像这样:

#include
using namespace std;
void solve(){
    vector> x;}

x就是一个容器,而它里面的元素是个装有int 类型的容器,或者可以把它看成二维数组。

其实我们也可以这么写:

#include
using namespace std;
void solve(){
    vector x[100];}

这样子,x就有100行,每行是vector容器。

创建好了,那我们初始化它吧!

#include
using namespace std;
void solve(){
    int n;
    cin>>n;
    vector x(n,1);
    }

它的含义是:初始化x使其x[0]---x[n-1]都为1;

下面是初始化多个元素:

#include
using namespace std;
void solve(){
    int n;
    cin>>n;
    vector x{1,2,3,4,5};
    }

下面是用拷贝初始化(!!!两个vector类型必须相同)

#include
using namespace std;
void solve(){
    int n;
    cin>>n;
    vector x{1,2,3,4,5};
    vector y(x);
    }

接下来,我们介绍几个方法函数

c.front()

返回第一个数据

c.back()

返回最后一个数据

c.pop_back()

删除最后一个数据

c.push_back(element)

在尾部加一个数据

c.size()

返回数据个数(unsigned)

c.clear()

清除元素个数

c.resize(n,v)

改变数组大小为n并赋v,默认赋0

c.insert(n,x)

像任意迭代器n插入x

c.erase(first,last)

删除[first,last)的元素

c.begin()

返回首元素地址

c.end()

返回最后元素的后一个位置地址

c.empty()

判断是否为空,为空返回真

 

下面让我们了解一下访问方式:

void solve(){
    int n;
    cin>>n;
    vector x(n,1);
    for(int i=0;i

其实还有另一个访问方式:

void solve(){
    int n;
    cin>>n;
    vector x(n,1);
    for(auto i:x) cout<

你可能感兴趣的:(数据结构,c++,开发语言,蓝桥杯)