栈(Stack)
Stack是一种先进后出的一种数据结构,只能对其顶端元素进行操作。

头文件: #include
定义: stack<data_type> stack_ name;
如: stack s;
操作:
empty() -返回bool型,表示栈内是否为空(s.empty())
size() -返回栈内元素个数(s.size() )
top() -返回栈项元素值(s.top() )
pop() -移除栈顶元素(s. pop())
push(data_type a) -向栈内压入一个元素a (push(a))
**队列(queue) **
queue是一种先进先出的数据结构,从底端加入元素,从顶端取出元素。

头文件: #include
定义: queue <data_ type> queue_ name;
如: queue q;
操作:
empty() -返回bool型,表示queue是否为空(q.empty() )
size() --返回queue内元素个数(q.size() )
front() --返回queue内的下一一个 元素(q.front() )
back() --返回queue丙的最后一 个元素(q.back() )
pop() --移除queue中的一个 元素(q.pop() )
puish(data_type a)–将一个 元素a置入queue中(q.push(a))
vector简单应用:动态数组
优点 :当你需要的元素个数超过系统的尺寸的时候,它可以自动扩充容量。
头文件: #include
定义: vector <data_ type> vector_ name;
如: vector v;
操作:
empty() -返回bool型,表示vector是否为空(v.empty() )
size() -返回vector内元素个数(v.size() )
push_ back(data_ type a)将元素a插入最尾端
pop_ back() 将最尾端元素删除
v[i]类似数组取第i个位置的元素(v[0] )
**排序函数(sort) **(通常对向量,数组进行排序)
头文件:#include
sort(begin, end);
sort(begin, end, cmp);
例 int num[] = (1,5,6,2,9);
1.sort(num, num + 5);//默认从小到大排序
num[] = (1,2,5,6,2)
2.bool cmp(int a, int b)
{
return a> b;
}//cmp用来定义排序类型
sort(num, num + 5, cmp); //num[] = (9,6,5,2,1);
**优先队列(prioritypriority_queue) **
按照优先权,把极值及最大值或最小值排在前面

头文件: #include
定义: priority_queue <data_ type> priority_ queue_ name;
如: priority_queue q;//默认是大顶堆
操作:
q.push(elem)将元素elem置入优先队列
q.top()返回优先队列的下一个元素
q.pop()移除一个元素
q.size()返回队列中元素的个数
q.empty()返回优先队列是否为空
感悟:今天学习了STL的一些应用 希望自己能在今后学习中慢慢了解 慢慢应用所学的知识解决一些相关问题,经过几次课的学习感觉到了课程的难度 我会尽力跟上老师的脚步。
613

被折叠的 条评论
为什么被折叠?



