STL的基础

玄学的STL

vector
vector<int>a;

这是一个不用开范围的数组;

这里的“< >”里可以用string,char,double等类型;

vector<int>G[MAXN];

这个就是开一个二维的数组,第一维就是无限,第二维的范围就是MAXN;

a.push_back(1);把1加到a的最后;

a.resize(100);相当于a[0]~a[99];

int b[100]={1,2,3,4,5};b[0]~b[4];
vector<int>a;
a.assign(b,b+5);a[0]~a[4];

就是把b[0]~b[4]里的数赋值到a[0]~a[4]里;

a.assign(3,5);a[0]~a[2];就是把a[0]~a[2]赋值为5;

a.at(id) 等价于a[id];

a.back();数组下标最大的一个;

a.front();数组下标最小的一个;

a.clear();清空,释放内存;

a.pop_back();弹出最后的一个元素;

sort(a.begin(),a.end(),mycmp);最强的排序;


set//集合,没错,就是数学里的集合,不可重复;
set<int>s;
s.insert(1);
set<int>::iterator rit; 玄学迭代器;
for(rit=s.begin();rit!=s.end();rit++)
{
cout<<*rit<<endl;
}


set<int>::reverse_iterator rit;
for(rit =s.rbegin();rit!=s.rend();rit++)
{
}反向迭代;

s.find(5);    end();查找5的地址(如果有的话)没有则为end();

if(s.find(5)==s.end())
s.count(5)==0;因为是集合,所以最大为1;


map这是一种映射;
map<string,int>m;从string向int的映射;
m["Aico"]=1;就像这样;
s[m["Aico"]]=100;其中的m["Aico"]就是=1;
s[1]=100;


预知后事如何,

且听下回分解!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值