这个星期主要复习了STL,把各种数据结构的STL的的函数都列出来复习了下。
vector:
vector<int> v;//定义int类型的vector v
v.push_back(a);//把a放到v后面
v.size();//返回v的元素个数
v.resize(n,m);//调整v的大小为n个,新增部分初始化为m
v.begin();//返回v的第一个元素的地址
v.end();//返回v最后一个元素的下一个地址
queue:
queue<类型名> q;//建队q
q.push(a);//将a入队
q.pop();//让队首出队
q.front();//查询队首
q.back();//查询队尾
q.size();//返回q的元素个数
q.empty();//返回q是否为空
stack:
stack<类型名> s;//建栈s
s.push(a);//将a入栈
s.pop();//将栈顶元素弹出
s.top();//查询栈顶元素
s.size();//返回栈的元素个数
s.empty();//返回栈是否为空
list:
list<类型名> l;//创建链表l
list<类型名> l(数组名,数组名+数组大小);//将数组的元素作为链表元素创建链表l
l.begin();//返回l的第一个元素的地址
l.end();//返回l最后一个元素的下一个地址
l.push_front(a);
l.push_back(a);
l.pop_front(a);
l.pop_back(a);
l.insert(i,a);//在迭代器i前插入元素a
l.erase(i);//删除迭代器i所指的元素
set:
set<类型名> s;//创建集合s
s.insert(a);//在集合s中加入元素a
s.erase(a);//删除元素a
s.erase(i);//删除迭代器i所指的元素
s.end();//返回l最后一个元素的下一个地址
s.find(x);//返回x在集合s中的地址,若不存在则返回s.end()
s.lower_bound(x);//查询大于或等于x的最小值的地址,不存在则返回s.end()
s.upper_bound(x);//查询大于x的最小值的地址,不存在则返回s.end()
map:
map<类型名,类型名> m;//创建映射m
m[A]=B;
m.end();//返回映射表m最后一个元素的下一个地址
m.find(B);//查询元素B在映射表中的地址
m.empty();//返回映射表是否为空
m.size();//返回映射表的元素个数
m.erase(A);//删除下标为A的元素