最近对于stl进行了学习,在此总结我完全理解并且能够应用的几种。
(1)栈
栈的结构为先进后出,只能操作最顶端元素。
.....
#include<stack>
.....
int main
{
......
stack<int> s;
......
}
以上为它的定义方式
对它的操作可以分为几种
s.empty() 栈内是否为空
s.size() 栈内元素个数
s.top()/s.pop() 返回/移除栈顶元素
s.push() 向内压入元素
(2)队列
队列是一种先进先出的结构
.....
#include<queue>
.....
int main
{
.....
queue<int> q;
.....
}
对于这个,可以进行的操作
q.empty() 表示是否为空
q.size() 返回元素个数
q.front() 返回q内的下一个元素
q.back() 返回q内的最后一个元素
q.pop() 移除q中的一个元素
q.push() 将一个元素置入q中
(3)动态数组
这个我用的还算熟练,在之前的博客里也有提及,现在简单来一下就可以了。
......
#include<vector>
......
vector<int>v;
int main()
{
v.empty v是否为空
v.size() 返回v内元素个数
v.push_back() 插入元素到尾端
v.pop_back() 删除最尾端元素
}
(4)排序
sort(a,a+n)
从小到大对数组排序。
可以自己写排序规则
bool cmp(int x,int y)
{
return x>y;
}
我最熟练而且能够运用的现在就是这些,其他的要么是不会实际运用,要么不太会操作,还需要进一步学习,就不在此过多赘述
期待明天的acm课。